#pragma once #include #include "FramelessWindow.h" namespace Ui { class MainFrame; } class QLineEdit; class MainFrame : public FramelessWindow { Q_OBJECT public: explicit MainFrame(QWidget *parent = nullptr); ~MainFrame(); static MainFrame& Get(); protected: void paintEvent(QPaintEvent* event) override; protected: void OnMenuTrigged(); void SetCurrentMenu(int index); private: void InitUI(); void AddMenuWidget(const QString& name, const QString& text, QWidget* widget); private: Ui::MainFrame* ui; using MenuWidget = QMap; MenuWidget menuWidget_; };