- /*******************************
- * Copyright (C) 2025.
- *
- * File Name: widget.h
- * Description: 显示与交互界面配置
- * Others:
- * Version: 1.0
- * Author: lipengpeng
- * Date: 2025-7-23
- *******************************/
- #ifndef WIDGET_H
- #define WIDGET_H
-
- #include <QSerialPort>
- #include <QWidget>
- #include <QTimer>
- #include "mymodbus.h"
- #include "communicationhistory.h"
- #include "serialcommunicator.h"
-
- /**
- * @class Widget
- * @brief 主窗口类,负责用户界面和串口通信控制
- *
- * 该类提供串口连接、数据读写、历史记录管理等功能。
- * 使用SerialCommunicator处理底层串口通信,MyModbus处理Modbus协议。
- */
- namespace Ui {
- class Widget;
- }
-
- class Widget : public QWidget
- {
- Q_OBJECT
-
- public:
- /**
- * @brief 构造函数,初始化界面和通信对象
- * @param parent 父窗口指针,默认为空
- */
- Widget(QWidget *parent = 0);
- /**
- * @brief 析构函数,清理资源
- */
- ~Widget();
-
- bool readLineEdit();
-
- private slots:
- //连接/断开串口按钮槽函数
- void btnConnectClicked();
-
- //发送写数据命令报文按钮槽函数
- void onBtnWriteClicked();
-
- //发送读数据命令报文按钮槽函数
- void onBtnReadClicked();
-
- //保存历史通信数据按钮槽函数
- void onBtnSavedateClicked();
-
- //读取历史通信数据按钮槽函数
- void onBtnReaddateClicked();
-
- //清空当前通信数据文本框按钮槽函数
- void onBtnCleardateClicked();
-
- //清空解析数据文本框按钮槽函数
- void onBtnClearreadClicked();
-
- void sicalDisconnected();
-
- /**
- * @brief 串口数据接收槽函数
- * @param data 接收到的字节数据
- */
- void onSerialDataReceived(const QByteArray &data);
-
- /**
- * @brief 串口状态变化槽函数
- * @param status 状态描述字符串
- */
- void onSerialStatusChanged(const QString &status);
-
- void onTextChanged();
-
- void staionConneting(bool online);
-
- // 串口通信超时处理槽函数
- void onSerialTimeout();
-
- void onBtnRefreshClicked();
-
- void onBtnBatchInputClicked();
-
- void onBtnCheckmsgClicked();
-
- private:
- Ui::Widget *ui_; // 指向用户界面的指针
- SerialCommunicator *serialComm_; // 串口通信处理对象
- MyModbus *modbus_; // Modbus协议处理对象
- };
-
- #endif // WIDGET_H
|