#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include #include #include "models/ImageInfoModel.h" #include "widgets/ImageGridWithTableWidget.h" #include "widgets/ImageGridWidget.h" #include "widgets/DeviceStatusWidget.h" #include "widgets/TearingDataTableWidget.h" #include "Presenter/Inc/BeltTearingPresenter.h" #include "IStatusUpdate.h" #include "dialognetconfig.h" QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MainWindow : public QMainWindow, public IStatusUpdate { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); // IStatusUpdate接口方法声明 void OnStatusUpdate(const QString& statusMessage) override; void OnNeedShowImageCount(const QStringList& deviceAliases) override; void OnTearingResult(const BeltTearingResult& result) override; void OnServerConnected(const QString& serverName) override; void OnServerDisconnected(const QString& serverName) override; void OnWorkStatusChanged(BeltTearingWorkStatus status) override; void OnErrorOccurred(const QString& errorMessage) override; protected: void resizeEvent(QResizeEvent* event) override; private slots: void on_btn_hide_clicked(); void on_btn_close_clicked(); void on_btn_test_clicked(); void on_btn_camera_clicked(); void onConfigSaved(); private: void resizeToFitContent(); // void resizeEvent(QResizeEvent* event); Ui::MainWindow *ui; DialogNetConfig* ui_dialognetconfig = nullptr; ImageGridWithTableWidget* m_gridWithTable {nullptr}; ImageGridWidget* m_gridView {nullptr}; DeviceStatusWidget* m_deviceStatusWidget {nullptr}; TearingDataTableWidget* m_tearingDataTableWidget {nullptr}; QSplitter* m_splitter {nullptr}; BeltTearingPresenter* m_presenter {nullptr}; }; #endif // MAINWINDOW_H