mainwindow.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #ifndef MAINWINDOW_H
  2. #define MAINWINDOW_H
  3. #include <QMainWindow>
  4. #include <QStandardItemModel>
  5. #include <QtCharts/QChartView>
  6. #include <QtCharts/QLineSeries>
  7. #include <QtCharts/QDateTimeAxis>
  8. #include <QtCharts/QValueAxis>
  9. #include "soft_bus_core/soft_bus_core.h"
  10. #include "serial_manager/serial_manager.h"
  11. QT_BEGIN_NAMESPACE
  12. class QListView;
  13. class QTableView;
  14. class QSplitter;
  15. class QLabel;
  16. namespace Ui {
  17. class MainWindow;
  18. }
  19. QT_END_NAMESPACE
  20. namespace QtCharts {
  21. class QChart;
  22. }
  23. class MainWindow : public QMainWindow {
  24. Q_OBJECT
  25. public:
  26. explicit MainWindow(QWidget *parent = nullptr);
  27. ~MainWindow();
  28. private slots:
  29. void updateDeviceList();
  30. void showRawData(const QString &deviceId);
  31. void showBusMessages(const QString &source);
  32. void updateChart(const BusMessage &message);
  33. void onDeviceSelected(const QModelIndex &index);
  34. void onSerialDataReceived(const QString &portName, const QByteArray &data);
  35. // btn_fun
  36. void on_btn_serial_clear_clicked();
  37. void on_btn_serial_clear_send_clicked();
  38. void on_btn_serial_send_clicked();
  39. void on_checkBox_serial_hex_toggled(bool checked);
  40. void on_checkBox_serial_ascii_toggled(bool checked);
  41. private:
  42. Ui::MainWindow *ui;
  43. void createUI();
  44. void createConnections();
  45. void initializeSystem();
  46. // 核心组件
  47. SoftBusCore *m_busCore;
  48. SerialManager *m_serialManager;
  49. // UI组件
  50. QTableView *m_dataTable; // 原始数据表
  51. QStandardItemModel *m_deviceModel;
  52. QStandardItemModel *m_dataModel;
  53. QStandardItemModel *m_serial_settingsModel; // 串口设置表Table;
  54. QLineSeries *m_dataSeries;
  55. QtCharts::QChart *m_chart;
  56. QString m_currentDeviceId; // 当前选择的设备ID
  57. };
  58. #endif // MAINWINDOW_H