MCPcopy Create free account
hub / github.com/Liniyous/ElaWidgetTools / ElaWidget

Method ElaWidget

ElaWidgetTools/ElaWidget.cpp:13–46  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

11#include <QVBoxLayout>
12Q_TAKEOVER_NATIVEEVENT_CPP(ElaWidget, d_func()->_appBar);
13ElaWidget::ElaWidget(QWidget* parent)
14 : QWidget{parent}, d_ptr(new ElaWidgetPrivate())
15{
16 Q_D(ElaWidget);
17 d->q_ptr = this;
18 resize(500, 500); // 默认宽高
19 setWindowTitle("ElaWidget");
20 setObjectName("ElaWidget");
21#if (QT_VERSION < QT_VERSION_CHECK(6, 5, 3) || QT_VERSION > QT_VERSION_CHECK(6, 6, 1))
22 setStyleSheet("#ElaWidget{background-color:transparent;}");
23#endif
24 // 自定义AppBar
25 d->_appBar = new ElaAppBar(this);
26 d->_appBar->setIsStayTop(true);
27 d->_appBar->setWindowButtonFlags(ElaAppBarType::StayTopButtonHint | ElaAppBarType::MinimizeButtonHint | ElaAppBarType::MaximizeButtonHint | ElaAppBarType::CloseButtonHint);
28 connect(d->_appBar, &ElaAppBar::routeBackButtonClicked, this, &ElaWidget::routeBackButtonClicked);
29 connect(d->_appBar, &ElaAppBar::navigationButtonClicked, this, &ElaWidget::navigationButtonClicked);
30 connect(d->_appBar, &ElaAppBar::themeChangeButtonClicked, this, &ElaWidget::themeChangeButtonClicked);
31 connect(d->_appBar, &ElaAppBar::closeButtonClicked, this, &ElaWidget::closeButtonClicked);
32
33 // 主题
34 d->_themeMode = eTheme->getThemeMode();
35 connect(eTheme, &ElaTheme::themeModeChanged, this, [=](ElaThemeType::ThemeMode themeMode) {
36 d->_themeMode = themeMode;
37 update();
38 });
39
40 d->_windowDisplayMode = eApp->getWindowDisplayMode();
41 connect(eApp, &ElaApplication::pWindowDisplayModeChanged, this, [=]() {
42 d->_windowDisplayMode = eApp->getWindowDisplayMode();
43 update();
44 });
45 eApp->syncWindowDisplayMode(this);
46}
47
48ElaWidget::~ElaWidget()
49{

Callers

nothing calls this directly

Calls 5

getThemeModeMethod · 0.80
getWindowDisplayModeMethod · 0.80
syncWindowDisplayModeMethod · 0.80
setIsStayTopMethod · 0.45
setWindowButtonFlagsMethod · 0.45

Tested by

no test coverage detected