aboutsummaryrefslogtreecommitdiffstats
path: root/examples/declarative/textproperties
diff options
context:
space:
mode:
Diffstat (limited to 'examples/declarative/textproperties')
-rw-r--r--examples/declarative/textproperties/main.py24
-rw-r--r--examples/declarative/textproperties/view.qml52
2 files changed, 41 insertions, 35 deletions
diff --git a/examples/declarative/textproperties/main.py b/examples/declarative/textproperties/main.py
index 48a3f1d91..0408313d3 100644
--- a/examples/declarative/textproperties/main.py
+++ b/examples/declarative/textproperties/main.py
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2018 The Qt Company Ltd.
+## Copyright (C) 2021 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the Qt for Python examples of the Qt Toolkit.
@@ -39,14 +39,21 @@
#############################################################################
import sys
-from os.path import abspath, dirname, join
+from pathlib import Path
from PySide6.QtCore import QObject, Slot
from PySide6.QtGui import QGuiApplication
-from PySide6.QtQml import QQmlApplicationEngine
+from PySide6.QtQml import QQmlApplicationEngine, QmlElement
from PySide6.QtQuickControls2 import QQuickStyle
+# To be used on the @QmlElement decorator
+# (QML_IMPORT_MINOR_VERSION is optional)
+QML_IMPORT_NAME = "io.qt.textproperties"
+QML_IMPORT_MAJOR_VERSION = 1
+
+
+@QmlElement
class Bridge(QObject):
@Slot(str, result=str)
@@ -95,17 +102,10 @@ if __name__ == '__main__':
QQuickStyle.setStyle("Material")
engine = QQmlApplicationEngine()
- # Instance of the Python object
- bridge = Bridge()
-
- # Expose the Python object to QML
- context = engine.rootContext()
- context.setContextProperty("con", bridge)
-
# Get the path of the current directory, and then add the name
# of the QML file, to load it.
- qmlFile = join(dirname(__file__), 'view.qml')
- engine.load(abspath(qmlFile))
+ qml_file = Path(__file__).parent / 'view.qml'
+ engine.load(qml_file)
if not engine.rootObjects():
sys.exit(-1)
diff --git a/examples/declarative/textproperties/view.qml b/examples/declarative/textproperties/view.qml
index 98289a1ba..cb7992e45 100644
--- a/examples/declarative/textproperties/view.qml
+++ b/examples/declarative/textproperties/view.qml
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2018 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the Qt for Python examples of the Qt Toolkit.
@@ -39,11 +39,13 @@
****************************************************************************/
-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 QtQuick
+import QtQuick.Layouts
+import QtQuick.Controls
+import QtQuick.Window
+import QtQuick.Controls.Material
+
+import io.qt.textproperties 1.0
ApplicationWindow {
id: page
@@ -53,6 +55,10 @@ ApplicationWindow {
Material.theme: Material.Dark
Material.accent: Material.Red
+ Bridge {
+ id: bridge
+ }
+
GridLayout {
id: grid
columns: 2
@@ -78,9 +84,9 @@ ApplicationWindow {
Layout.alignment: Qt.AlignLeft
text: "Italic"
onToggled: {
- leftlabel.font.italic = con.getItalic(italic.text)
- leftlabel.font.bold = con.getBold(italic.text)
- leftlabel.font.underline = con.getUnderline(italic.text)
+ leftlabel.font.italic = bridge.getItalic(italic.text)
+ leftlabel.font.bold = bridge.getBold(italic.text)
+ leftlabel.font.underline = bridge.getUnderline(italic.text)
}
}
@@ -89,9 +95,9 @@ ApplicationWindow {
Layout.alignment: Qt.AlignLeft
text: "Bold"
onToggled: {
- leftlabel.font.italic = con.getItalic(bold.text)
- leftlabel.font.bold = con.getBold(bold.text)
- leftlabel.font.underline = con.getUnderline(bold.text)
+ leftlabel.font.italic = bridge.getItalic(bold.text)
+ leftlabel.font.bold = bridge.getBold(bold.text)
+ leftlabel.font.underline = bridge.getUnderline(bold.text)
}
}
RadioButton {
@@ -99,9 +105,9 @@ ApplicationWindow {
Layout.alignment: Qt.AlignLeft
text: "Underline"
onToggled: {
- leftlabel.font.italic = con.getItalic(underline.text)
- leftlabel.font.bold = con.getBold(underline.text)
- leftlabel.font.underline = con.getUnderline(underline.text)
+ leftlabel.font.italic = bridge.getItalic(underline.text)
+ leftlabel.font.bold = bridge.getBold(underline.text)
+ leftlabel.font.underline = bridge.getUnderline(underline.text)
}
}
RadioButton {
@@ -110,9 +116,9 @@ ApplicationWindow {
text: "None"
checked: true
onToggled: {
- leftlabel.font.italic = con.getItalic(noneradio.text)
- leftlabel.font.bold = con.getBold(noneradio.text)
- leftlabel.font.underline = con.getUnderline(noneradio.text)
+ leftlabel.font.italic = bridge.getItalic(noneradio.text)
+ leftlabel.font.bold = bridge.getBold(noneradio.text)
+ leftlabel.font.underline = bridge.getUnderline(noneradio.text)
}
}
}
@@ -135,7 +141,7 @@ ApplicationWindow {
highlighted: true
Material.accent: Material.Red
onClicked: {
- leftlabel.color = con.getColor(red.text)
+ leftlabel.color = bridge.getColor(red.text)
}
}
Button {
@@ -144,7 +150,7 @@ ApplicationWindow {
highlighted: true
Material.accent: Material.Green
onClicked: {
- leftlabel.color = con.getColor(green.text)
+ leftlabel.color = bridge.getColor(green.text)
}
}
Button {
@@ -153,7 +159,7 @@ ApplicationWindow {
highlighted: true
Material.accent: Material.Blue
onClicked: {
- leftlabel.color = con.getColor(blue.text)
+ leftlabel.color = bridge.getColor(blue.text)
}
}
Button {
@@ -162,7 +168,7 @@ ApplicationWindow {
highlighted: true
Material.accent: Material.BlueGrey
onClicked: {
- leftlabel.color = con.getColor(nonebutton.text)
+ leftlabel.color = bridge.getColor(nonebutton.text)
}
}
}
@@ -182,7 +188,7 @@ ApplicationWindow {
id: slider
value: 0.5
onValueChanged: {
- leftlabel.font.pointSize = con.getSize(value)
+ leftlabel.font.pointSize = bridge.getSize(value)
}
}
}