#ifndef LAUNCHPAGE_H #define LAUNCHPAGE_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // 窗口工作线程类,负责数据初始化 class WindowWorker : public QObject { Q_OBJECT public: explicit WindowWorker(int pageIndex, QObject *parent = nullptr) : QObject(parent), m_pageIndex(pageIndex), m_initialized(false) {} signals: void logMessage(const QString &message); void createWindowRequest(int pageIndex); void initializationComplete(int pageIndex, const QVariant &data); public slots: void initialize(); private: int m_pageIndex; bool m_initialized; }; QT_BEGIN_NAMESPACE namespace Ui { class LaunchPage; } QT_END_NAMESPACE class LaunchPage : public QWidget { Q_OBJECT public: LaunchPage(QWidget *parent = nullptr); ~LaunchPage(); void TrayIconInit(); void WinInit(); void AddLogInfo(QString Str); void loadNextWindow(QWidget *container,QHBoxLayout *hLayout); void LoadGif(); private slots: void createPages(); void createWindowInMainThread(int pageIndex); void storeWindowData(int pageIndex, const QVariant &data); // void initializeWindowWithData(QWidget *window, int pageIndex, const QVariant &data); // void onThreadFinished(); signals: void enterMainRequested(); void startWindowCreation(); void windowCreationCompleted(); private: Ui::LaunchPage *ui; QSystemTrayIcon *trayIcon; QMenu *trayIconMenu; QAction *minimizeAction; QAction *restoreAction; QAction *quitAction; QMovie *m_movie; QTextToSpeech *tts; TTSManager *ttsManager; // 窗口相关成员 P00_PublicPage *pubWin = nullptr; QScrollArea *scrollArea = nullptr; QWidget *container = nullptr; QHBoxLayout *hLayout = nullptr; QList workerThreads; QMap windowData; bool isNewScrollArea; uint8_t currentLoadingIndex = 0; int windowsCreated = 0; bool isLoadingWindow = false; // 控制窗口顺序加载的标志 void adjustScrollAreaSize(); // 新增方法声明 void enableScrollNavigation(); void startNextWindowLoading(); }; #endif // LAUNCHPAGE_H #ifndef LAUNCHPAGE_H #define LAUNCHPAGE_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include QT_BEGIN_NAMESPACE namespace Ui { class LaunchPage; } QT_END_NAMESPACE class LaunchPage : public QWidget { Q_OBJECT public: LaunchPage(QWidget *parent = nullptr); ~LaunchPage(); void TrayIconInit(); void WinInit(); void AddLogInfo(QString Str); void loadNextWindow(QWidget *container,QHBoxLayout *hLayout); private: void createPages(); // 延迟创建所有子页面 signals: void enterMainRequested(); // 请求进入主界面 private: Ui::LaunchPage *ui; QSystemTrayIcon *trayIcon; QMenu *trayIconMenu; //窗口管理动作 QAction *minimizeAction; QAction *restoreAction; QAction *quitAction; QTextToSpeech *tts; // 文本转语音 }; #endif // LAUNCHPAGE_H //#ifndef LAUNCHPAGE_H //#define LAUNCHPAGE_H //#include //#include //#include //#include //#include //#include //#include //#include //#include //#include //#include //#include //#include //#include //#include //#include //#include //#include //#include //#include //#include //#include //#include //#include //#include //#include //#include //#include //#include //QT_BEGIN_NAMESPACE //namespace Ui { class LaunchPage; } //QT_END_NAMESPACE //class LaunchPage : public QWidget //{ // Q_OBJECT //public: // LaunchPage(QWidget *parent = nullptr); // ~LaunchPage(); // void TrayIconInit(); // void WinInit(); // void AddLogInfo(QString Str); //// void loadNextWindow(QWidget *container,QHBoxLayout *hLayout); //private slots: // void createPages(); //// void createWindowInMainThread(int pageIndex); //// void storeWindowData(int pageIndex, const QVariant &data); //// void initializeWindowWithData(QWidget *window, int pageIndex, const QVariant &data); //// void onThreadFinished(); //signals: //// void enterMainRequested(); //// void startWindowCreation(); //// void windowCreationCompleted(); //private: // Ui::LaunchPage *ui; // QSystemTrayIcon *trayIcon; // QMenu *trayIconMenu; // QAction *minimizeAction; // QAction *restoreAction; // QAction *quitAction; // QTextToSpeech *tts; // TTSManager *ttsManager; // // 窗口相关成员 // P00_PublicPage *pubWin = nullptr; // QScrollArea *scrollArea = nullptr; // QWidget *container = nullptr; // QHBoxLayout *hLayout = nullptr; // QList workerThreads; // QMap windowData; // bool isNewScrollArea; // uint8_t currentLoadingIndex = 0; // int windowsCreated = 0; // void adjustScrollAreaSize(); // 新增方法声明 // void enableScrollNavigation(); // void startNextWindowLoading(); //}; //#endif // LAUNCHPAGE_H