From 44fee9aa1e3087635d1394612c6f6ceab44ba7b0 Mon Sep 17 00:00:00 2001 From: Zhao Yuhang <2546789017@qq.com> Date: 周一, 18 12月 2023 20:11:42 +0800 Subject: [PATCH] minor improve quick demo --- examples/qml/main.qml | 39 +++++++++++++++++++ examples/qml/main.cpp | 1 examples/qml/QWKButton.qml | 34 +++++++++++++++++ examples/qml/qml.qrc | 1 4 files changed, 75 insertions(+), 0 deletions(-) diff --git a/examples/qml/QWKButton.qml b/examples/qml/QWKButton.qml new file mode 100644 index 0000000..9068242 --- /dev/null +++ b/examples/qml/QWKButton.qml @@ -0,0 +1,34 @@ +import QtQuick 2.15 +import QtQuick.Controls 2.15 + +Button { + id: root + width: height * 1.5 + property alias source: image.source + contentItem: Item { + anchors.fill: parent + + Image { + id: image + anchors.centerIn: parent + mipmap: true + width: 10 + height: 10 + } + } + background: Rectangle { + anchors.fill: parent + color: { + if (!root.enabled) { + return "gray"; + } + if (root.pressed) { + return Qt.rgba(0, 0, 0, 0.15); + } + if (root.hovered) { + return Qt.rgba(0, 0, 0, 0.15); + } + return "transparent"; + } + } +} \ No newline at end of file diff --git a/examples/qml/main.cpp b/examples/qml/main.cpp index 386e4d4..dba5d17 100644 --- a/examples/qml/main.cpp +++ b/examples/qml/main.cpp @@ -6,6 +6,7 @@ int main(int argc, char *argv[]) { qputenv("QT_WIN_DEBUG_CONSOLE", "1"); qputenv("QSG_INFO", "1"); + qputenv("QT_QUICK_CONTROLS_STYLE", "Basic"); #if 1 qputenv("QSG_RHI_BACKEND", "d3d12"); qputenv("QSG_RHI_HDR", "scrgb"); diff --git a/examples/qml/main.qml b/examples/qml/main.qml index 4ed90f1..8f1f15a 100644 --- a/examples/qml/main.qml +++ b/examples/qml/main.qml @@ -22,6 +22,7 @@ id: titleBar anchors { top: parent.top + topMargin: 1 left: parent.left right: parent.right } @@ -37,5 +38,43 @@ font.pixelSize: 14 color: window.active ? "black" : "gray" } + + 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.setHitTestVisible(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.setHitTestVisible(maxButton) + } + + QWKButton { + id: closeButton + height: parent.height + source: "qrc:///window-bar/close.svg" + onClicked: window.close() + Component.onCompleted: windowAgent.setHitTestVisible(closeButton) + } + } } } \ No newline at end of file diff --git a/examples/qml/qml.qrc b/examples/qml/qml.qrc index dc7d52f..865977e 100644 --- a/examples/qml/qml.qrc +++ b/examples/qml/qml.qrc @@ -1,5 +1,6 @@ <RCC> <qresource prefix="/"> <file>main.qml</file> + <file>QWKButton.qml</file> </qresource> </RCC> \ No newline at end of file -- Gitblit v1.9.1