diff options
author | Cristián Maureira-Fredes <cmaureirafredes@gmail.com> | 2021-06-28 16:42:55 +0200 |
---|---|---|
committer | Cristián Maureira-Fredes <Cristian.Maureira-Fredes@qt.io> | 2021-07-21 10:01:45 +0200 |
commit | c9330b0acf680d4c2a0933b8bf67dc9b3114de5d (patch) | |
tree | f58d82c3ce57f04960e39f3af596e5a010f21a7f /examples/declarative/signals/pytoqml2 | |
parent | b1b2cc2ebed2fcf6e31c1fbbdd3638216e34717b (diff) |
qml: replace context properties and code updates
Most of the qml code in the repository was outdated,
and followed bad practices, like context properties.
Complementary, after the major updates for Qt6
most of the code was not relying on the new ways of
register types (singletons, and using the decorator QmlElement).
Drop the context property usage in the following examples:
- signals/qmltopy1
- signals/qmltopy2
- signals/pytoqml2
- usingmodel
- quickcontrols2/gallery
- textproperties
Additionally:
- all the tests related to context properties
- tutorials/qmlapp
- tutorials/qmlsqlintegration
- Removing 'scrolling' example
- Fixing some flake8 warnings
Change-Id: I649248c0149876bf2bf94e78e27cef7110f42f1d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Keith Kyzivat <keith.kyzivat@qt.io>
Diffstat (limited to 'examples/declarative/signals/pytoqml2')
-rw-r--r-- | examples/declarative/signals/pytoqml2/main.py | 11 | ||||
-rw-r--r-- | examples/declarative/signals/pytoqml2/view.qml | 5 |
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 |