From fdcde738e585ea0e9912215901e36590ebba7fdf Mon Sep 17 00:00:00 2001 From: Shawn Rutledge Date: Mon, 22 Oct 2012 13:44:21 +0200 Subject: Examples and fixes for QML Window properties MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Setting Window.color in QML takes effect immediately. It was only possible to set the property at startup. Examples demonstrate new Window property features. Change-Id: Ic5b43d0d84371f3fe5c42223ccc98e6de27aed10 Reviewed-by: Samuel Rødal --- examples/window/window/standalone.qml | 55 ++++++++++++++++++++++++++++++----- examples/window/window/twowindows.qml | 38 ++++++++++++++++++------ 2 files changed, 76 insertions(+), 17 deletions(-) (limited to 'examples/window') diff --git a/examples/window/window/standalone.qml b/examples/window/window/standalone.qml index 079694cc10..a06db633a7 100644 --- a/examples/window/window/standalone.qml +++ b/examples/window/window/standalone.qml @@ -44,13 +44,29 @@ import QtQuick.Window 2.0 Item { width: 320 height: 240 + // It's not possible to set an Item's windowTitle. If you want to modify + // window properties, you need to explicitly create a Window. Text { + id: text1 anchors.centerIn: parent text: "First Window" } Rectangle { border.color: "black" - color: childWindow.visible ? "green" : "yellow" + radius: 4 + anchors.top: text1.bottom + anchors.horizontalCenter: text1.horizontalCenter + width: 100 + height: 30 + TextInput { + id: ti1 + focus: true // but the modal popup will prevent input while it is open + anchors.centerIn: parent + } + } + Rectangle { + border.color: "black" + color: childWindow.visible ? "goldenrod" : "beige" radius: height / 4 anchors.bottom: parent.bottom anchors.right: parent.right @@ -72,16 +88,39 @@ Item { id: childWindow width: 320 height: 240 - x: 320 - y: 240 - color: "green" + x: 220 + y: 120 + color: "beige" + title: "Second Window" + modality: Qt.ApplicationModal + flags: Qt.WindowStaysOnTopHint | Qt.FramelessWindowHint Text { + id: text2 anchors.centerIn: parent - text: "Second Window" + text: "Modal Frameless Stay-on-Top Window" } - MouseArea{ - anchors.fill: parent - onClicked: Qt.quit() + Text { + anchors.top: parent.top + anchors.right: parent.right + anchors.margins: 10 + text: "X" + MouseArea{ + anchors.fill: parent + onClicked: childWindow.visible = false + } + } + Rectangle { + border.color: "black" + radius: 4 + anchors.top: text2.bottom + anchors.horizontalCenter: text2.horizontalCenter + width: 100 + height: 30 + TextInput { + id: ti2 + focus: true + anchors.centerIn: parent + } } } } diff --git a/examples/window/window/twowindows.qml b/examples/window/window/twowindows.qml index b6e0f8a0ba..345598cf12 100644 --- a/examples/window/window/twowindows.qml +++ b/examples/window/window/twowindows.qml @@ -43,27 +43,47 @@ import QtQuick.Window 2.0 QtObject { property var win1: Window { - width: 640 - height: 480 + width: 320 + height: 240 x: 0 y: 0 visible: true color: "#ccffff" + title: "First Window" Text { anchors.centerIn: parent text: "First Window" + Text { + id: statusText + anchors.top: parent.bottom + anchors.horizontalCenter: parent.horizontalCenter + } + } + MouseArea { + anchors.fill: parent + onClicked: win2.visible = !win2.visible } } property var win2: Window { - width: 640 - height: 480 - x: 640 - y: 480 + width: 320 + height: 240 + x: 220 + y: 120 visible: true color: "green" - Text { - anchors.centerIn: parent - text: "Second Window" + title: "Second Window: " + color + Rectangle { + anchors.fill: parent + anchors.margins: 10 + Text { + anchors.centerIn: parent + text: "Second Window" + } + MouseArea { + anchors.fill: parent + onClicked: win2.color = "#ffffcc" + } } + onVisibleChanged: statusText.text = "second window is " + (visible ? "visible" : "invisible") } } -- cgit v1.2.3