php网站内容管理系统,医院网站绿色模板,河北邯郸网站制作,wordpress去除acf1、概述 源码放在文章末尾
该项目实现了串口助手的功能#xff0c;可在界面上通过串口配置和网络配置进行串口调试。 基本功能
支持16进制数据发送与接收。支持windows下COM9以上的串口通信。实时显示收发数据字节大小以及串口状态。支持任意qt版本#xff0c;亲测4.7.0 到…1、概述 源码放在文章末尾
该项目实现了串口助手的功能可在界面上通过串口配置和网络配置进行串口调试。 基本功能
支持16进制数据发送与接收。支持windows下COM9以上的串口通信。实时显示收发数据字节大小以及串口状态。支持任意qt版本亲测4.7.0 到 6.1。支持串口转网络数据收发。
高级功能
可自由管理需要发送的数据每次只要从下拉框中选择数据即可无需重新输入数据。可模拟设备回复数据需要在主界面开启模拟设备回复数据。当接收到设置好的指令时立即回复设置的回复指令。例如指定收到0x16 0x00 0xFF 0x01需要回复0x16 0x00 0xFE 0x01则只需要在SendData.txt中添加一条数据16 00 FF 01:16 00 FE 01即可。可定时发送数据和保存数据到文本文件:默认间隔5秒钟可更改间隔时间。在不断接收到大量数据时可以暂停显示数据来查看具体数据后台依然接收数据但不处理无需关闭串口来查看已接收到的数据。每次收到的数据都是完整的一条数据而不是脱节的做了延时处理。一套源码随处编译无需更改串口通信类已在XP/WIN7/UBUNTU/ARMLINUX系统下成功编译并运行。
下面是demo演示 项目部分代码如下所示
#ifndef APPCONFIG_H
#define APPCONFIG_H#include head.hclass AppConfig
{
public:static QString ConfigFile; //配置文件路径static QString SendFileName; //发送配置文件名static QString DeviceFileName; //模拟设备数据文件名static QString PortName; //串口号static int BaudRate; //波特率static int DataBit; //数据位static QString Parity; //校验位static double StopBit; //停止位static bool HexSend; //16进制发送static bool HexReceive; //16进制接收static bool Debug; //模拟设备static bool AutoClear; //自动清空static bool AutoSend; //自动发送static int SendInterval; //自动发送间隔static bool AutoSave; //自动保存static int SaveInterval; //自动保存间隔static QString Mode; //转换模式static QString ServerIP; //服务器IPstatic int ServerPort; //服务器端口static int ListenPort; //监听端口static int SleepTime; //延时时间static bool AutoConnect; //自动重连//读写配置参数static void readConfig(); //读取配置参数static void writeConfig(); //写入配置参数
};#endif // APPCONFIG_H
#ifndef QTHELPER_H
#define QTHELPER_H#include head.hclass QtHelper
{
public://获取所有屏幕区域/当前鼠标所在屏幕索引/区域尺寸/缩放系数static QListQRect getScreenRects(bool available true);static int getScreenIndex();static QRect getScreenRect(bool available true);static qreal getScreenRatio(bool devicePixel false);//矫正当前鼠标所在屏幕居中尺寸static QRect checkCenterRect(QRect rect, bool available true);//获取桌面宽度高度居中显示static int deskWidth();static int deskHeight();static QSize deskSize();//居中显示窗体//定义标志位指定是以桌面为参照还是主程序界面为参照static QWidget *centerBaseForm;static void setFormInCenter(QWidget *form);static void showForm(QWidget *form);//程序文件名称和当前所在路径static QString appName();static QString appPath();//程序最前面获取应用程序路径和名称static void getCurrentInfo(char *argv[], QString path, QString name);//程序最前面读取配置文件节点的值static QString getIniValue(const QString fileName, const QString key);static QString getIniValue(char *argv[], const QString key, const QString dir QString());//获取本地网卡IP集合static QStringList getLocalIPs();//获取内置颜色集合static QListQColor colors;static QListQColor getColorList();static QStringList getColorNames();//随机获取颜色集合中的颜色static QColor getRandColor();//初始化随机数种子static void initRand();//获取随机小数static float getRandFloat(float min, float max);//获取随机数,指定最小值和最大值static double getRandValue(int min, int max, bool contansMin false, bool contansMax false);//获取范围值随机经纬度集合static QStringList getRandPoint(int count, float mainLng, float mainLat, float dotLng, float dotLat);//根据旧的范围值和值计算新的范围值对应的值static int getRangeValue(int oldMin, int oldMax, int oldValue, int newMin, int newMax);//获取uuidstatic QString getUuid();//校验目录static void checkPath(const QString dirName);//通用延时函数(支持Qt4 Qt5 Qt6)static void sleep(int msec, bool exec true);//检查程序是否已经运行static void checkRun();//设置Qt自带样式static void setStyle();//设置字体static QFont addFont(const QString fontFile, const QString fontName);static void setFont(int fontSize 12);//设置编码static void setCode(bool utf8 true);//设置翻译文件static void setTranslator(const QString qmFile);//动态设置权限static bool checkPermission(const QString permission);//申请安卓权限static void initAndroidPermission();//一次性设置所有包括编码样式字体等static void initAll(bool utf8 true, bool style true, int fontSize 13);//初始化main函数最前面执行的一段代码static void initMain(bool desktopSettingsAware false, bool use96Dpi true, bool logCritical true);//初始化opengl类型(1AA_UseDesktopOpenGL 2AA_UseOpenGLES 3AA_UseSoftwareOpenGL)static void initOpenGL(quint8 type 0, bool checkCardEnable false, bool checkVirtualSystem false);//执行命令行返回执行结果static QString doCmd(const QString program, const QStringList arguments, int timeout 1000);//获取显卡是否被禁用static bool isVideoCardEnable();//获取是否在虚拟机环境static bool isVirtualSystem();//插入消息static QVectorint msgTypes;static QVectorQString msgKeys;static QVectorQColor msgColors;static QString appendMsg(QTextEdit *textEdit, int type, const QString data,int maxCount, int currentCount,bool clear false, bool pause false);//设置无边框static void setFramelessForm(QWidget *widgetMain, bool tool false, bool top false, bool menu true);//弹出框static int showMessageBox(const QString text, int type 0, int closeSec 0, bool exec false);//弹出消息框static void showMessageBoxInfo(const QString text, int closeSec 0, bool exec false);//弹出错误框static void showMessageBoxError(const QString text, int closeSec 0, bool exec false);//弹出询问框static int showMessageBoxQuestion(const QString text);//为什么还要自定义对话框因为可控宽高和汉化对应文本等//初始化对话框文本static void initDialog(QFileDialog *dialog, const QString title, const QString acceptName,const QString dirName, bool native, int width, int height);//拿到对话框结果static QString getDialogResult(QFileDialog *dialog);//选择文件对话框static QString getOpenFileName(const QString filter QString(),const QString dirName QString(),const QString fileName QString(),bool native false, int width 900, int height 600);//保存文件对话框static QString getSaveFileName(const QString filter QString(),const QString dirName QString(),const QString fileName QString(),bool native false, int width 900, int height 600);//选择目录对话框static QString getExistingDirectory(const QString dirName QString(),bool native false, int width 900, int height 600);//异或加密-只支持字符,如果是中文需要将其转换base64编码static QString getXorEncryptDecrypt(const QString value, char key);//异或校验static quint8 getOrCode(const QByteArray data);//计算校验码static quint8 getCheckCode(const QByteArray data);//初始化表格static void initTableView(QTableView *tableView, int rowHeight 25,bool headVisible false, bool edit false,bool stretchLast true);//打开文件带提示框static void openFile(const QString fileName, const QString msg);//检查ini配置文件static bool checkIniFile(const QString iniFile);//首尾截断字符串显示static QString cutString(const QString text, int len, int left, int right, bool file, const QString mid ...);//传入图片尺寸和窗体区域及边框大小返回居中区域(scaleMode: 0-自动调整 1-等比缩放 2-拉伸填充)static QRect getCenterRect(const QSize imageSize, const QRect widgetRect, int borderWidth 2, int scaleMode 0);//传入图片尺寸和窗体尺寸及缩放策略返回合适尺寸(scaleMode: 0-自动调整 1-等比缩放 2-拉伸填充)static void getScaledImage(QImage image, const QSize widgetSize, int scaleMode 0, bool fast true);//毫秒数转时间 00:00static QString getTimeString(qint64 time);//用时时间转秒数static QString getTimeString(QElapsedTimer timer);//文件大小转 KB MB GB TBstatic QString getSizeString(quint64 size);//设置系统时间static void setSystemDateTime(const QString year, const QString month, const QString day,const QString hour, const QString min, const QString sec);//设置开机自启动static void runWithSystem(bool autoRun true);static void runWithSystem(const QString fileName, const QString filePath, bool autoRun true);//启动运行程序(已经在运行则不启动)static void runBin(const QString path, const QString name);
};#endif // QTHELPER_H
源码下载