diff options
| author | Jan Arve Sæther <jan-arve.saether@qt.io> | 2023-01-25 11:01:20 +0100 |
|---|---|---|
| committer | Jan Arve Sæther <jan-arve.saether@qt.io> | 2023-06-02 14:39:23 +0200 |
| commit | 90a5e8d217b614cedfeec40132067c7c6222b5b9 (patch) | |
| tree | f07339f0a72a9e8088a90a9c7d19577b8498e409 /src/quick/doc/snippets | |
| parent | 247c2b1c8db43e0dc6612cc343ea07aa0b4aef79 (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.qml | 62 |
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] +} |
