From df53287060966d78ffccac78342fb5d0a028f835 Mon Sep 17 00:00:00 2001 From: sola.lu <sola.lu.greentest.com.cn> Date: 周二, 10 6月 2025 19:03:07 +0800 Subject: [PATCH] 1.添加翻译,about,手册,login这几个按钮到标题栏。 --- examples/qml/main.qml | 253 +------------------------------------------------ 1 files changed, 9 insertions(+), 244 deletions(-) diff --git a/examples/qml/main.qml b/examples/qml/main.qml index ff034e9..7f203c4 100644 --- a/examples/qml/main.qml +++ b/examples/qml/main.qml @@ -1,254 +1,19 @@ import QtQuick 2.15 import QtQuick.Window 2.15 import QtQuick.Controls 2.15 -import Qt.labs.platform 1.1 -import QWindowKit 1.0 -Window { - id: window - width: 800 - height: 600 - color: darkStyle.windowBackgroundColor - title: qsTr("Hello, world!") - Component.onCompleted: { - windowAgent.setup(window) - windowAgent.setWindowAttribute("dark-mode", true) - window.visible = true +FramelessWindow { + property FramelessWindow childWindow: FramelessWindow { + showWhenReady: false } - QtObject { - id: lightStyle - } - - QtObject { - id: darkStyle - readonly property color windowBackgroundColor: "#1E1E1E" - } - - Timer { - interval: 100 - running: true - repeat: true - onTriggered: timeLabel.text = Qt.formatTime(new Date(), "hh:mm:ss") - } - - WindowAgent { - id: windowAgent - } - - TapHandler { - acceptedButtons: Qt.RightButton - onTapped: contextMenu.open() - } - - Rectangle { - id: titleBar + Button { anchors { - top: parent.top - left: parent.left - right: parent.right + horizontalCenter: parent.horizontalCenter + bottom: parent.bottom + bottomMargin: 20 } - height: 32 - //color: window.active ? "#3C3C3C" : "#505050" - color: "transparent" - Component.onCompleted: windowAgent.setTitleBar(titleBar) - - Image { - id: iconButton - anchors { - verticalCenter: parent.verticalCenter - left: parent.left - leftMargin: 10 - } - width: 18 - height: 18 - mipmap: true - source: "qrc:///app/example.png" - fillMode: Image.PreserveAspectFit - Component.onCompleted: windowAgent.setSystemButton(WindowAgent.WindowIcon, iconButton) - } - - Text { - anchors { - verticalCenter: parent.verticalCenter - left: iconButton.right - leftMargin: 10 - } - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - text: window.title - font.pixelSize: 14 - color: "#ECECEC" - } - - Row { - anchors { - top: parent.top - right: parent.right - } - height: parent.height - - QWKButton { - id: minButton - height: parent.height - source: "qrc:///window-bar/minimize.svg" - onClicked: window.showMinimized() - Component.onCompleted: windowAgent.setSystemButton(WindowAgent.Minimize, minButton) - } - - QWKButton { - id: maxButton - height: parent.height - source: window.visibility === Window.Maximized ? "qrc:///window-bar/restore.svg" : "qrc:///window-bar/maximize.svg" - onClicked: { - if (window.visibility === Window.Maximized) { - window.showNormal() - } else { - window.showMaximized() - } - } - Component.onCompleted: windowAgent.setSystemButton(WindowAgent.Maximize, maxButton) - } - - QWKButton { - id: closeButton - height: parent.height - source: "qrc:///window-bar/close.svg" - background: Rectangle { - color: { - if (!closeButton.enabled) { - return "gray"; - } - if (closeButton.pressed) { - return "#e81123"; - } - if (closeButton.hovered) { - return "#e81123"; - } - return "transparent"; - } - } - onClicked: window.close() - Component.onCompleted: windowAgent.setSystemButton(WindowAgent.Close, closeButton) - } - } - } - - Label { - id: timeLabel - anchors.centerIn: parent - font { - pointSize: 75 - bold: true - } - color: "#FEFEFE" - Component.onCompleted: { - if ($curveRenderingAvailable) { - timeLabel.renderType = Text.CurveRendering - } - } - } - - Menu { - id: contextMenu - - Menu { - id: themeMenu - title: qsTr("Theme") - - MenuItemGroup { - id: themeMenuGroup - items: themeMenu.items - } - - MenuItem { - text: qsTr("Light") - checkable: true - onTriggered: windowAgent.setWindowAttribute("dark-mode", false) - } - - MenuItem { - text: qsTr("Dark") - checkable: true - checked: true - onTriggered: windowAgent.setWindowAttribute("dark-mode", true) - } - } - - Menu { - id: specialEffectMenu - title: qsTr("Special effect") - - MenuItemGroup { - id: specialEffectMenuGroup - items: specialEffectMenu.items - } - - MenuItem { - enabled: Qt.platform.os === "windows" - text: qsTr("None") - checkable: true - checked: true - onTriggered: { - window.color = darkStyle.windowBackgroundColor - windowAgent.setWindowAttribute("dwm-blur", false) - windowAgent.setWindowAttribute("acrylic-material", false) - windowAgent.setWindowAttribute("mica", false) - windowAgent.setWindowAttribute("mica-alt", false) - } - } - - MenuItem { - enabled: Qt.platform.os === "windows" - text: qsTr("DWM blur") - checkable: true - onTriggered: { - window.color = "transparent" - windowAgent.setWindowAttribute("acrylic-material", false) - windowAgent.setWindowAttribute("mica", false) - windowAgent.setWindowAttribute("mica-alt", false) - windowAgent.setWindowAttribute("dwm-blur", true) - } - } - - MenuItem { - enabled: Qt.platform.os === "windows" - text: qsTr("Acrylic material") - checkable: true - onTriggered: { - window.color = "transparent" - windowAgent.setWindowAttribute("dwm-blur", false) - windowAgent.setWindowAttribute("mica", false) - windowAgent.setWindowAttribute("mica-alt", false) - windowAgent.setWindowAttribute("acrylic-material", true) - } - } - - MenuItem { - enabled: Qt.platform.os === "windows" - text: qsTr("Mica") - checkable: true - onTriggered: { - window.color = "transparent" - windowAgent.setWindowAttribute("dwm-blur", false) - windowAgent.setWindowAttribute("acrylic-material", false) - windowAgent.setWindowAttribute("mica-alt", false) - windowAgent.setWindowAttribute("mica", true) - } - } - - MenuItem { - enabled: Qt.platform.os === "windows" - text: qsTr("Mica Alt") - checkable: true - onTriggered: { - window.color = "transparent" - windowAgent.setWindowAttribute("dwm-blur", false) - windowAgent.setWindowAttribute("acrylic-material", false) - windowAgent.setWindowAttribute("mica", false) - windowAgent.setWindowAttribute("mica-alt", true) - } - } - } + text: qsTr("Open Child Window") + onClicked: childWindow.visible = true } } \ No newline at end of file -- Gitblit v1.9.1