| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- #ifndef MAINWINDOW_H
- #define MAINWINDOW_H
- #include <QMainWindow>
- #include <QStandardItemModel>
- #include <QtCharts/QChartView>
- #include <QtCharts/QLineSeries>
- #include <QtCharts/QDateTimeAxis>
- #include <QtCharts/QValueAxis>
- #include "soft_bus_core/soft_bus_core.h"
- #include "serial_manager/serial_manager.h"
- QT_BEGIN_NAMESPACE
- class QListView;
- class QTableView;
- class QSplitter;
- class QLabel;
- namespace Ui
- {
- class MainWindow;
- }
- QT_END_NAMESPACE
- namespace QtCharts
- {
- class QChart;
- }
- class MainWindow : public QMainWindow
- {
- Q_OBJECT
- public:
- explicit MainWindow(QWidget *parent = nullptr);
- ~MainWindow();
- private slots:
- void updateDeviceList();
- void showRawData(const QString &deviceId);
- void showBusMessages(const QString &source);
- void updateChart(const BusMessage &message);
- void onDeviceSelected(const QModelIndex &index);
- void onSerialDataReceived(const QString &portName, const QByteArray &data);
- // btn_fun
- void on_btn_serial_clear_clicked();
- void on_btn_serial_clear_send_clicked();
- void on_btn_serial_send_clicked();
- void on_checkbox_serial_hex_toggled(bool checked);
- void on_checkbox_serial_ascii_toggled(bool checked);
- // modbus_btn_fun
- void on_checkbox_modbus_rtu_toggled(bool checked);
- void on_checkbox_modbus_ascii_toggled(bool checked);
- void on_checkbox_modbus_tcp_toggled(bool checked);
- private:
- void createUI();
- void createConnections();
- void initializeSystem();
- void modbusSetting_ui(const QString &deviceId);
- void onModbusControlChanged(int index);
- void onConfirmModbusSet();
- void onGenerateModbusDatagram();
- quint16 calculateCRC(const QByteArray &data);
- QList<QStandardItem*> createRow(const QString ¶m, const QString &defaultValue);
- private:
- Ui::MainWindow *ui;
- // 核心组件
- SoftBusCore *m_busCore;
- SerialManager *m_serialManager;
- // UI组件
- QTableView *m_dataTable; // 原始数据表
- QStandardItemModel *m_deviceModel;
- QStandardItemModel *m_raw_dataModel;
- QStandardItemModel *m_bus_dataModel;
- QStandardItemModel *m_serial_settingsModel; // 串口设置表Table;
- QLineSeries *m_dataSeries;
- QtCharts::QChart *m_chart;
- QString m_currentDeviceId; // 当前选择的设备ID
- };
- #endif // MAINWINDOW_H
|