From bbd0f1932fcf7a730d8ab9410e158f2b1035bc23 Mon Sep 17 00:00:00 2001 From: Sine Striker <trueful@163.com> Date: 周三, 13 12月 2023 18:53:02 +0800 Subject: [PATCH] Add cocoa --- examples/mainwindow/mainwindow.cpp | 39 ++++++++++++--------------------------- 1 files changed, 12 insertions(+), 27 deletions(-) diff --git a/examples/mainwindow/mainwindow.cpp b/examples/mainwindow/mainwindow.cpp index adcf6cd..c18fe5d 100644 --- a/examples/mainwindow/mainwindow.cpp +++ b/examples/mainwindow/mainwindow.cpp @@ -53,42 +53,19 @@ return menuBar; }(); - static const auto buttonStyleSheet = QLatin1String{ R"( -QPushButton { - background-color:white; - color:black; -} -QPushButton:hover { - background-color:black; - color:white; -} -QPushButton:pressed { - background-color:red; - color:white; -} -)" }; - auto iconButton = new QPushButton("I"); - iconButton->setFlat(true); iconButton->setAttribute(Qt::WA_Hover); iconButton->setMouseTracking(true); - iconButton->setStyleSheet(buttonStyleSheet); auto minButton = new QPushButton("鈥�"); - minButton->setFlat(true); minButton->setAttribute(Qt::WA_Hover); minButton->setMouseTracking(true); - minButton->setStyleSheet(buttonStyleSheet); auto maxButton = new QPushButton("馃棖"); maxButton->setCheckable(true); - maxButton->setFlat(true); maxButton->setAttribute(Qt::WA_Hover); maxButton->setMouseTracking(true); - maxButton->setStyleSheet(buttonStyleSheet); auto closeButton = new QPushButton("鉁�"); - closeButton->setFlat(true); closeButton->setAttribute(Qt::WA_Hover); closeButton->setMouseTracking(true); - closeButton->setStyleSheet(buttonStyleSheet); auto windowBar = new QWK::WindowBar(); windowBar->setIconButton(iconButton); @@ -100,10 +77,10 @@ windowBar->setHostWidget(this); agent->setTitleBar(windowBar); - agent->setSystemButton(QWK::CoreWindowAgent::WindowIcon, iconButton); - agent->setSystemButton(QWK::CoreWindowAgent::Minimize, minButton); - agent->setSystemButton(QWK::CoreWindowAgent::Maximize, maxButton); - agent->setSystemButton(QWK::CoreWindowAgent::Close, closeButton); + agent->setSystemButton(QWK::WindowAgentBase::WindowIcon, iconButton); + agent->setSystemButton(QWK::WindowAgentBase::Minimize, minButton); + agent->setSystemButton(QWK::WindowAgentBase::Maximize, maxButton); + agent->setSystemButton(QWK::WindowAgentBase::Close, closeButton); agent->setHitTestVisible(menuBar, true); connect(windowBar, &QWK::WindowBar::minimizeRequested, this, &QWidget::showMinimized); @@ -118,9 +95,17 @@ auto clockWidget = new ClockWidget(); clockWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + connect(clockWidget, &QAbstractButton::clicked, this, [this]() { + if (!isMaximized()) { + showMaximized(); + } else { + showNormal(); + } + }); setMenuWidget(windowBar); setCentralWidget(clockWidget); setWindowTitle("Example MainWindow"); + // setContentsMargins({0, 1, 0, 0}); resize(640, 480); } -- Gitblit v1.9.1