From 2d2fc799bc698ebf7e7c8bcc394366d0d7bf071b Mon Sep 17 00:00:00 2001 From: Sine Striker <trueful@163.com> Date: 周二, 20 2月 2024 18:18:39 +0800 Subject: [PATCH] Partially finish the bug after window close and reshow --- examples/mainwindow/mainwindow.h | 31 ++++++++++++++++++++++++++++++- 1 files changed, 30 insertions(+), 1 deletions(-) diff --git a/examples/mainwindow/mainwindow.h b/examples/mainwindow/mainwindow.h index 46f23d3..9af4d73 100644 --- a/examples/mainwindow/mainwindow.h +++ b/examples/mainwindow/mainwindow.h @@ -1,15 +1,44 @@ +// Copyright (C) 2023-2024 Stdware Collections (https://www.github.com/stdware) +// Copyright (C) 2021-2023 wangwenx190 (Yuhang Zhao) +// SPDX-License-Identifier: Apache-2.0 + #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QtWidgets/QMainWindow> +namespace QWK { + class WidgetWindowAgent; + class StyleAgent; +} + class MainWindow : public QMainWindow { + Q_OBJECT public: explicit MainWindow(QWidget *parent = nullptr); - ~MainWindow(); + ~MainWindow() override; + + enum Theme { + Dark, + Light, + }; + Q_ENUM(Theme) + +Q_SIGNALS: + void themeChanged(); protected: + bool event(QEvent *event) override; + + void closeEvent(QCloseEvent *event) override; + +private: void installWindowAgent(); + void loadStyleSheet(Theme theme); + + Theme currentTheme{}; + + QWK::WidgetWindowAgent *windowAgent; }; #endif // MAINWINDOW_H -- Gitblit v1.9.1