aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/doc/snippets
diff options
context:
space:
mode:
authorJan Arve Sæther <jan-arve.saether@qt.io>2023-01-25 11:01:20 +0100
committerJan Arve Sæther <jan-arve.saether@qt.io>2023-06-02 14:39:23 +0200
commit90a5e8d217b614cedfeec40132067c7c6222b5b9 (patch)
treef07339f0a72a9e8088a90a9c7d19577b8498e409 /src/quick/doc/snippets
parent247c2b1c8db43e0dc6612cc343ea07aa0b4aef79 (diff)
Introduction of LayoutItemProxy
The LayoutItemProxy is a proxy for an arbitrary QuickItem that is intended to be used in Layouts. This allows to position a QuickItem in multiple layouts to build responsive layouts. [ChangeLog][Layouts] Added LayoutItemProxy, a helper item for writing responsive layouts. Task-number: QTBUG-71153 Change-Id: Ief2bdbf44b3b346157ce2c71a313cc1e132f49ac Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
Diffstat (limited to 'src/quick/doc/snippets')
-rw-r--r--src/quick/doc/snippets/layouts/simpleProxy.qml62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/quick/doc/snippets/layouts/simpleProxy.qml b/src/quick/doc/snippets/layouts/simpleProxy.qml
new file mode 100644
index 0000000000..460e6bda32
--- /dev/null
+++ b/src/quick/doc/snippets/layouts/simpleProxy.qml
@@ -0,0 +1,62 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+import QtQuick
+import QtQuick.Layouts
+import QtQuick.Window
+import QtQuick.Controls
+
+Window {
+ visible: true
+
+ width: 350
+ //! [document]
+ //! [item definition]
+ Rectangle {
+ id: rectangle1
+ color: "tomato"
+ Layout.fillHeight: true
+ Layout.fillWidth: true
+ }
+
+ Rectangle {
+ id: rectangle2
+ color: "lightskyblue"
+ Layout.fillHeight: true
+ Layout.fillWidth: true
+ }
+ //! [item definition]
+
+ //! [layout definition]
+ GridLayout {
+ id: l1
+ columns: 1
+ visible: false
+ anchors.fill: parent
+ LayoutItemProxy { target: rectangle1 }
+ LayoutItemProxy { target: rectangle2 }
+ }
+
+ GridLayout {
+ id: l2
+ columns: 2
+ visible: true
+ anchors.fill: parent
+ LayoutItemProxy { target: rectangle1 }
+ LayoutItemProxy { target: rectangle2 }
+ }
+ //! [layout definition]
+
+ //! [layout choice]
+ onWidthChanged: {
+ if (width < 300) {
+ l2.visible = false
+ l1.visible = true
+ } else {
+ l1.visible = false
+ l2.visible = true
+ }
+ }
+ //! [layout choice]
+ //! [document]
+}