KGC_TEST/KGCAPP/3rdparty/qwindowkit/examples/mainwindow/mainwindow.h

45 lines
848 B
C++

// 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() 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