aboutsummaryrefslogtreecommitdiffstats
path: root/examples/declarative/signals
diff options
context:
space:
mode:
Diffstat (limited to 'examples/declarative/signals')
-rw-r--r--examples/declarative/signals/pytoqml1/view.qml2
-rw-r--r--examples/declarative/signals/pytoqml2/main.py11
-rw-r--r--examples/declarative/signals/pytoqml2/view.qml5
-rw-r--r--examples/declarative/signals/qmltopy1/main.py15
-rw-r--r--examples/declarative/signals/qmltopy1/view.qml18
-rw-r--r--examples/declarative/signals/qmltopy2/main.py13
-rw-r--r--examples/declarative/signals/qmltopy2/view.qml8
7 files changed, 49 insertions, 23 deletions
diff --git a/examples/declarative/signals/pytoqml1/view.qml b/examples/declarative/signals/pytoqml1/view.qml
index a35b4866a..aebf8432b 100644
--- a/examples/declarative/signals/pytoqml1/view.qml
+++ b/examples/declarative/signals/pytoqml1/view.qml
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 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.
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
diff --git a/examples/declarative/signals/qmltopy1/main.py b/examples/declarative/signals/qmltopy1/main.py
index d323d9a0f..b84d98a71 100644
--- a/examples/declarative/signals/qmltopy1/main.py
+++ b/examples/declarative/signals/qmltopy1/main.py
@@ -45,8 +45,16 @@ import sys
from PySide6.QtCore import QObject, QUrl, 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.qmltopy1"
+QML_IMPORT_MAJOR_VERSION = 1
+
+
+@QmlElement
class Console(QObject):
"""Output stuff on the console."""
@@ -68,13 +76,6 @@ if __name__ == '__main__':
app = QGuiApplication(sys.argv)
view = QQuickView()
- # Instantiate the Python object.
- con = Console()
-
- # Expose the object to QML.
- context = view.rootContext()
- context.setContextProperty("con", con)
-
qml_file = os.fspath(Path(__file__).resolve().parent / 'view.qml')
view.setSource(QUrl.fromLocalFile(qml_file))
if view.status() == QQuickView.Error:
diff --git a/examples/declarative/signals/qmltopy1/view.qml b/examples/declarative/signals/qmltopy1/view.qml
index 32a66eff4..ec8b3452c 100644
--- a/examples/declarative/signals/qmltopy1/view.qml
+++ b/examples/declarative/signals/qmltopy1/view.qml
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 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,12 +41,18 @@
import QtQuick 2.0
+import examples.signals.qmltopy1 1.0
+
Rectangle {
id: page
width: 500; height: 200
color: "lightgray"
+ Console {
+ id: pyConsole
+ }
+
Text {
id: helloText
text: "Hello world!"
@@ -66,12 +72,12 @@ Rectangle {
objectName: "buttonMouseArea"
anchors.fill: parent
onClicked: {
- // once the "con" context has been declared,
+ // once the "console" context has been declared,
// slots can be called like functions
- con.outputFloat(123)
- con.outputStr("foobar")
- con.output(helloText.x)
- con.output(helloText.text)
+ pyConsole.outputFloat(123)
+ pyConsole.outputStr("foobar")
+ pyConsole.output(helloText.x)
+ pyConsole.output(helloText.text)
}
}
Text {
diff --git a/examples/declarative/signals/qmltopy2/main.py b/examples/declarative/signals/qmltopy2/main.py
index 1bf22b2af..21addc13b 100644
--- a/examples/declarative/signals/qmltopy2/main.py
+++ b/examples/declarative/signals/qmltopy2/main.py
@@ -1,7 +1,7 @@
#############################################################################
##
-## Copyright (C) 2016 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.
@@ -45,8 +45,15 @@ import sys
from PySide6.QtCore import QObject, QUrl, 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.qmltopy2"
+QML_IMPORT_MAJOR_VERSION = 1
+
+@QmlElement
class RotateValue(QObject):
def __init__(self):
super().__init__()
@@ -64,10 +71,6 @@ if __name__ == '__main__':
app = QGuiApplication(sys.argv)
view = QQuickView()
- rotatevalue = RotateValue()
- context = view.rootContext()
- context.setContextProperty("rotatevalue", rotatevalue)
-
qml_file = os.fspath(Path(__file__).resolve().parent / 'view.qml')
view.setSource(QUrl.fromLocalFile(qml_file))
if view.status() == QQuickView.Error:
diff --git a/examples/declarative/signals/qmltopy2/view.qml b/examples/declarative/signals/qmltopy2/view.qml
index 6fe6087f2..b8cb23cc2 100644
--- a/examples/declarative/signals/qmltopy2/view.qml
+++ b/examples/declarative/signals/qmltopy2/view.qml
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 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.
@@ -40,12 +40,18 @@
import QtQuick 2.0
+import examples.signals.qmltopy2 1.0
+
Rectangle {
id: page
width: 500; height: 200
color: "lightgray"
+ RotateValue {
+ id: rotatevalue
+ }
+
Text {
id: helloText
text: "Hello world!"