#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include "ZMQServer.h" namespace Ui { class MainWindow; } struct Widget { int x{ 0 }; int y{ 0 }; int width{ 0 }; int height{ 0 }; QString bg; int anim{ 0 }; // 0 左到右, 1 右到左 2 上到下 3 下到上 int duration{ 30 }; QString tag; }; struct Setting { int total{ 1 }; int start{ 0 }; int count{ 1 }; int port{ 9532 }; QVector widgets; }; class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = nullptr); ~MainWindow(); static MainWindow& Get(); protected: void OnDataRead(); void ShowPaper(const QString& filePath, const QString& url, const QString& info); void closeEvent(QCloseEvent* event) override; bool ParseSetting(); void OnHandleMessage(const QString& message); void ScreenChange(); private: Ui::MainWindow *ui; //class NetClient* m_netClient; ZMQServer zmqServer_; QString m_serverIp; QVector m_widgets; QNetworkAccessManager manager; Setting m_setting; class TokenRequest* m_tokenRequest{ nullptr }; }; #endif // MAINWINDOW_H