aboutsummaryrefslogtreecommitdiffstats
path: root/examples/declarative/signals/pytoqml2
diff options
context:
space:
mode:
Diffstat (limited to 'examples/declarative/signals/pytoqml2')
-rw-r--r--examples/declarative/signals/pytoqml2/main.py11
-rw-r--r--examples/declarative/signals/pytoqml2/view.qml5
2 files changed, 13 insertions, 3 deletions
diff --git a/examples/declarative/signals/pytoqml2/main.py b/examples/declarative/signals/pytoqml2/main.py
index 30ec5a4f6..31e860dc1 100644
--- a/examples/declarative/signals/pytoqml2/main.py
+++ b/examples/declarative/signals/pytoqml2/main.py
@@ -45,8 +45,16 @@ import sys
from PySide6.QtCore import QObject, QTimer, QUrl, Signal, Slot
from PySide6.QtGui import QGuiApplication
from PySide6.QtQuick import QQuickView
+from PySide6.QtQml import QmlElement
+# To be used on the @QmlElement decorator
+# (QML_IMPORT_MINOR_VERSION is optional)
+QML_IMPORT_NAME = "examples.signals.pytoqml2"
+QML_IMPORT_MAJOR_VERSION = 1
+
+
+@QmlElement
class RotateValue(QObject):
valueChanged = Signal(int, arguments=['val'])
@@ -67,8 +75,7 @@ if __name__ == '__main__':
rotatevalue = RotateValue()
timer = QTimer()
timer.start(2000)
- context = view.rootContext()
- context.setContextProperty("rotatevalue", rotatevalue)
+ view.setInitialProperties({"rotatevalue": rotatevalue})
qml_file = os.fspath(Path(__file__).resolve().parent / 'view.qml')
view.setSource(QUrl.fromLocalFile(qml_file))
diff --git a/examples/declarative/signals/pytoqml2/view.qml b/examples/declarative/signals/pytoqml2/view.qml
index 41b185af0..ca2fb46f0 100644
--- a/examples/declarative/signals/pytoqml2/view.qml
+++ b/examples/declarative/signals/pytoqml2/view.qml
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2020 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.
@@ -41,11 +41,14 @@
import QtQuick 2.0
import QtQml 2.0
+import examples.signals.pytoqml2 1.0
+
Rectangle {
id: page
width: 500; height: 200
color: "lightgray"
+ required property RotateValue rotatevalue
Text {
id: helloText