270 lines
7.0 KiB
C++
270 lines
7.0 KiB
C++
#ifndef LAUNCHPAGE_H
|
|
#define LAUNCHPAGE_H
|
|
|
|
#include <QWidget>
|
|
#include <QSystemTrayIcon>
|
|
#include <QAction>
|
|
#include <QMenu>
|
|
#include <QHBoxLayout>
|
|
#include <QThread>
|
|
#include <QVariant>
|
|
#include <QMap>
|
|
#include <QTextToSpeech>
|
|
#include <GlobalDefinitions/Variable.h>
|
|
#include <FileOperation/ConfigFiles.h>
|
|
#include <QStackedLayout>
|
|
|
|
#include <Pages/P00_PublicPage.h>
|
|
#include <Pages/P01_MianPage.h>
|
|
#include <Pages/P02_ShieldPage.h>
|
|
#include <Pages/P301_PumpPage.h>
|
|
#include <Pages/P401_CuttingPage.h>
|
|
#include <Pages/P501_LoaderPage.h>
|
|
#include <Pages/P601_TransportPage.h>
|
|
#include <Pages/P07_CylinderPage.h>
|
|
#include <Pages/P08_AlarmPage.h>
|
|
#include <Pages/P901_RemotePage.h>
|
|
#include <Pages/P902_RemotePage.h>
|
|
#include <Pages/P10_IntelligentPage.h>
|
|
#include <Pages/P11_IsolationPage.h>
|
|
#include <Pages/P12_NetworkPage.h>
|
|
#include <Pages/P13_InsPage.h>
|
|
#include <Pages/P14_AtlasPage.h>
|
|
#include <Pages/P15_ParameterPage.h>
|
|
#include <Pages/P16_SettingPage.h>
|
|
|
|
// 窗口工作线程类,负责数据初始化
|
|
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<QThread*> workerThreads;
|
|
QMap<int, QVariant> 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 <QWidget>
|
|
#include <QSystemTrayIcon>
|
|
#include <QAction>
|
|
#include <QMenu>
|
|
#include <QObject>
|
|
#include <QHBoxLayout>
|
|
#include <GlobalDefinitions/Variable.h>
|
|
#include <FileOperation/ConfigFiles.h>
|
|
|
|
#include <Pages/P00_PublicPage.h>
|
|
#include <Pages/P01_MianPage.h>
|
|
#include <Pages/P02_ShieldPage.h>
|
|
#include <Pages/P301_PumpPage.h>
|
|
#include <Pages/P401_CuttingPage.h>
|
|
#include <Pages/P501_LoaderPage.h>
|
|
#include <Pages/P601_TransportPage.h>
|
|
#include <Pages/P07_CylinderPage.h>
|
|
#include <Pages/P08_AlarmPage.h>
|
|
#include <Pages/P901_RemotePage.h>
|
|
#include <Pages/P902_RemotePage.h>
|
|
#include <Pages/P10_IntelligentPage.h>
|
|
#include <Pages/P11_IsolationPage.h>
|
|
#include <Pages/P12_NetworkPage.h>
|
|
#include <Pages/P13_InsPage.h>
|
|
#include <Pages/P14_AtlasPage.h>
|
|
#include <Pages/P15_ParameterPage.h>
|
|
#include <Pages/P16_SettingPage.h>
|
|
|
|
|
|
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 <QWidget>
|
|
//#include <QSystemTrayIcon>
|
|
//#include <QAction>
|
|
//#include <QMenu>
|
|
//#include <QHBoxLayout>
|
|
//#include <QThread>
|
|
//#include <QVariant>
|
|
//#include <QMap>
|
|
//#include <QTextToSpeech>
|
|
//#include <GlobalDefinitions/Variable.h>
|
|
//#include <FileOperation/ConfigFiles.h>
|
|
|
|
//#include <Pages/P00_PublicPage.h>
|
|
//#include <Pages/P01_MianPage.h>
|
|
//#include <Pages/P02_ShieldPage.h>
|
|
//#include <Pages/P301_PumpPage.h>
|
|
//#include <Pages/P401_CuttingPage.h>
|
|
//#include <Pages/P501_LoaderPage.h>
|
|
//#include <Pages/P601_TransportPage.h>
|
|
//#include <Pages/P07_CylinderPage.h>
|
|
//#include <Pages/P08_AlarmPage.h>
|
|
//#include <Pages/P901_RemotePage.h>
|
|
//#include <Pages/P902_RemotePage.h>
|
|
//#include <Pages/P10_IntelligentPage.h>
|
|
//#include <Pages/P11_IsolationPage.h>
|
|
//#include <Pages/P12_NetworkPage.h>
|
|
//#include <Pages/P13_InsPage.h>
|
|
//#include <Pages/P14_AtlasPage.h>
|
|
//#include <Pages/P15_ParameterPage.h>
|
|
//#include <Pages/P16_SettingPage.h>
|
|
|
|
|
|
|
|
//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<QThread*> workerThreads;
|
|
// QMap<int, QVariant> windowData;
|
|
// bool isNewScrollArea;
|
|
// uint8_t currentLoadingIndex = 0;
|
|
// int windowsCreated = 0;
|
|
// void adjustScrollAreaSize(); // 新增方法声明
|
|
// void enableScrollNavigation();
|
|
// void startNextWindowLoading();
|
|
//};
|
|
//#endif // LAUNCHPAGE_H
|