diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2024-08-08 09:00:00 +0200 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2024-08-08 14:06:06 +0200 |
| commit | 89e70719d9873c0e552d86533ee8f39c70270b7e (patch) | |
| tree | 4cbea3395faa37018248af6b8419c488d1eee405 /sources/pyside6/doc/tutorials/qmlintegration/Main | |
| parent | 0e9652d5542fccafdf8832ef5942b15040a1d8f2 (diff) | |
Documentation: Rewrite 'QML Integration' to use loadFromModule()
As a drive-by, change the resource file name to the naming convention
used by pyside6-project and fix some snippet lines.
Pick-to: 6.7
Task-number: PYSIDE-2833
Change-Id: Id73b0584e45a58f20eb1a53892943119fe4db6a4
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'sources/pyside6/doc/tutorials/qmlintegration/Main')
| -rw-r--r-- | sources/pyside6/doc/tutorials/qmlintegration/Main/Main.qml | 160 | ||||
| -rw-r--r-- | sources/pyside6/doc/tutorials/qmlintegration/Main/qmldir | 2 |
2 files changed, 162 insertions, 0 deletions
diff --git a/sources/pyside6/doc/tutorials/qmlintegration/Main/Main.qml b/sources/pyside6/doc/tutorials/qmlintegration/Main/Main.qml new file mode 100644 index 000000000..635603fac --- /dev/null +++ b/sources/pyside6/doc/tutorials/qmlintegration/Main/Main.qml @@ -0,0 +1,160 @@ +// Copyright (C) 2021 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + + +import QtQuick 2.0 +import QtQuick.Layouts 1.11 +import QtQuick.Controls 2.1 +import QtQuick.Window 2.1 +import QtQuick.Controls.Material 2.1 + +import io.qt.textproperties 1.0 + +ApplicationWindow { + id: page + width: 800 + height: 400 + visible: true + Material.theme: Material.Dark + Material.accent: Material.Red + + Bridge { + id: bridge + } + + GridLayout { + id: grid + columns: 2 + rows: 3 + + ColumnLayout { + spacing: 2 + Layout.columnSpan: 1 + Layout.preferredWidth: 400 + + Text { + id: leftlabel + Layout.alignment: Qt.AlignHCenter + color: "white" + font.pointSize: 16 + text: "Qt for Python" + Layout.preferredHeight: 100 + Material.accent: Material.Green + } + + RadioButton { + id: italic + Layout.alignment: Qt.AlignLeft + text: "Italic" + onToggled: { + leftlabel.font.italic = bridge.getItalic(italic.text) + leftlabel.font.bold = bridge.getBold(italic.text) + leftlabel.font.underline = bridge.getUnderline(italic.text) + + } + } + RadioButton { + id: bold + Layout.alignment: Qt.AlignLeft + text: "Bold" + onToggled: { + leftlabel.font.italic = bridge.getItalic(bold.text) + leftlabel.font.bold = bridge.getBold(bold.text) + leftlabel.font.underline = bridge.getUnderline(bold.text) + } + } + RadioButton { + id: underline + Layout.alignment: Qt.AlignLeft + text: "Underline" + onToggled: { + leftlabel.font.italic = bridge.getItalic(underline.text) + leftlabel.font.bold = bridge.getBold(underline.text) + leftlabel.font.underline = bridge.getUnderline(underline.text) + } + } + RadioButton { + id: noneradio + Layout.alignment: Qt.AlignLeft + text: "None" + checked: true + onToggled: { + leftlabel.font.italic = bridge.getItalic(noneradio.text) + leftlabel.font.bold = bridge.getBold(noneradio.text) + leftlabel.font.underline = bridge.getUnderline(noneradio.text) + } + } + } + + ColumnLayout { + id: rightcolumn + spacing: 2 + Layout.columnSpan: 1 + Layout.preferredWidth: 400 + Layout.preferredHeight: 400 + Layout.fillWidth: true + + RowLayout { + Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter + + + Button { + id: red + text: "Red" + highlighted: true + Material.accent: Material.Red + onClicked: { + leftlabel.color = bridge.getColor(red.text) + } + } + Button { + id: green + text: "Green" + highlighted: true + Material.accent: Material.Green + onClicked: { + leftlabel.color = bridge.getColor(green.text) + } + } + Button { + id: blue + text: "Blue" + highlighted: true + Material.accent: Material.Blue + onClicked: { + leftlabel.color = bridge.getColor(blue.text) + } + } + Button { + id: nonebutton + text: "None" + highlighted: true + Material.accent: Material.BlueGrey + onClicked: { + leftlabel.color = bridge.getColor(nonebutton.text) + } + } + } + RowLayout { + Layout.fillWidth: true + Layout.alignment: Qt.AlignVCenter | Qt.AlignHCenter + Text { + id: rightlabel + color: "white" + Layout.alignment: Qt.AlignLeft + text: "Font size" + Material.accent: Material.White + } + Slider { + width: rightcolumn.width*0.6 + Layout.alignment: Qt.AlignRight + id: slider + value: 0.5 + onValueChanged: { + leftlabel.font.pointSize = bridge.getSize(value) + } + } + } + } + } +} diff --git a/sources/pyside6/doc/tutorials/qmlintegration/Main/qmldir b/sources/pyside6/doc/tutorials/qmlintegration/Main/qmldir new file mode 100644 index 000000000..8ad738e16 --- /dev/null +++ b/sources/pyside6/doc/tutorials/qmlintegration/Main/qmldir @@ -0,0 +1,2 @@ +module Main +Main 254.0 Main.qml |
