#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include #include #include #include "MyTcpClient.h" #include "data_config.h" #include QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); private: Ui::MainWindow *ui; QAction * action_menu_monitors; QAction * action_menu_keyphasor; QAction * action_menu_relays; QAction * action_menu_reset; //声明菜单 QMenu * button_menu; QMap map_slot_config; QList list_label; QButtonGroup * btnGroup_slot = nullptr; MyTcpClient* m_tcpClient; int slot_no = 0; QTcpSocket *socket; QProgressBar *progressBar; CardType card_type; void createMenu(); void createMenu(const QString& rootTitle, QPushButton* button = nullptr); void createMenuSet(const QString& rootTitle, QPushButton* button = nullptr); void clearMenuProperties(QMenu* menu); void readJsonFile(const QString &filePath); void sendUpgradePackage(int slot); void getVersion(int slot); void initStyle(); void connectServer(); private slots: void onDisConnected(); void onConnected(); void readData(const QByteArray&); void onMenuAction_relay(); void OnButtonGroup(QAbstractButton *); void onMenuActionTriggered(); void on_pushButton_slot_clicked(); void on_pushButton_chan_clicked(); void on_pushButton_alarm_clicked(); void on_pushButton_point_name_clicked(); void on_pushButton_save_clicked(); void on_pushButton_open_clicked(); void on_pushButton_download_clicked(); }; #endif // MAINWINDOW_H