diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-05-09 08:31:01 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-05-09 14:58:12 +0000 |
commit | 8aeab29c8c9405bb494a6a2d05fbc8ce178ed270 (patch) | |
tree | 033700dae80905ee4886a9e7b54fecbd5b693ad5 /sources/pyside6 | |
parent | c030469a1ab558aff84871ce0403d8c57076be72 (diff) |
PySide6: Add QQmlContext::setContextProperties()
Fixes: PYSIDE-1921
Change-Id: Id80f9c2f7533d7e2d58af0fb0f1d6d8eb586d31a
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
(cherry picked from commit dee66cc79cc7429857157302253cfb8d244ddc18)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'sources/pyside6')
-rw-r--r-- | sources/pyside6/PySide6/QtQml/CMakeLists.txt | 1 | ||||
-rw-r--r-- | sources/pyside6/PySide6/QtQml/typesystem_qml.xml | 4 | ||||
-rw-r--r-- | sources/pyside6/tests/QtQml/qquickview_test.py | 9 |
3 files changed, 12 insertions, 2 deletions
diff --git a/sources/pyside6/PySide6/QtQml/CMakeLists.txt b/sources/pyside6/PySide6/QtQml/CMakeLists.txt index 1826df947..a2a0af2cd 100644 --- a/sources/pyside6/PySide6/QtQml/CMakeLists.txt +++ b/sources/pyside6/PySide6/QtQml/CMakeLists.txt @@ -19,6 +19,7 @@ ${QtQml_GEN_DIR}/qqmlabstracturlinterceptor_wrapper.cpp ${QtQml_GEN_DIR}/qqmlapplicationengine_wrapper.cpp ${QtQml_GEN_DIR}/qqmlcomponent_wrapper.cpp ${QtQml_GEN_DIR}/qqmlcontext_wrapper.cpp +${QtQml_GEN_DIR}/qqmlcontext_propertypair_wrapper.cpp ${QtQml_GEN_DIR}/qqmlerror_wrapper.cpp ${QtQml_GEN_DIR}/qqmldebuggingenabler_wrapper.cpp ${QtQml_GEN_DIR}/qqmlengine_wrapper.cpp diff --git a/sources/pyside6/PySide6/QtQml/typesystem_qml.xml b/sources/pyside6/PySide6/QtQml/typesystem_qml.xml index b880e5cdd..1cb533bc3 100644 --- a/sources/pyside6/PySide6/QtQml/typesystem_qml.xml +++ b/sources/pyside6/PySide6/QtQml/typesystem_qml.xml @@ -196,7 +196,9 @@ <modify-function signature="QQmlComponent(QQmlEngine*,QUrl,QObject*)" allow-thread="yes"/> <modify-function signature="QQmlComponent(QQmlEngine*,QUrl,QQmlComponent::CompilationMode,QObject*)" allow-thread="yes"/> </object-type> - <object-type name="QQmlContext"/> + <object-type name="QQmlContext"> + <value-type name="PropertyPair"/> + </object-type> <value-type name="QQmlError"> <add-function signature="__repr__" return-type="PyObject*"> <inject-code class="target" position="beginning" file="../glue/qtqml.cpp" snippet="qmlerrror-repr"/> diff --git a/sources/pyside6/tests/QtQml/qquickview_test.py b/sources/pyside6/tests/QtQml/qquickview_test.py index 29bcb9c22..b0b04fa1d 100644 --- a/sources/pyside6/tests/QtQml/qquickview_test.py +++ b/sources/pyside6/tests/QtQml/qquickview_test.py @@ -41,7 +41,7 @@ from helper.helper import quickview_errorstring from helper.timedqguiapplication import TimedQGuiApplication from PySide6.QtCore import QUrl, QObject, Property, Slot, Signal -from PySide6.QtQml import QQmlEngine +from PySide6.QtQml import QQmlEngine, QQmlContext from PySide6.QtQuick import QQuickView @@ -84,6 +84,13 @@ class TestQQuickView(TimedQGuiApplication): self.assertTrue(context) self.assertTrue(context.engine()) + test_context = QQmlContext(context) # Context properties, PYSIDE-1921 + prop_pair = QQmlContext.PropertyPair() + prop_pair.name = "testProperty" + prop_pair.value = 42 + test_context.setContextProperties([prop_pair]) + self.assertTrue(test_context.contextProperty("testProperty"), 42) + def testModelExport(self): view = QQuickView() dataList = [MyObject("Item 1"), MyObject("Item 2"), MyObject("Item 3"), MyObject("Item 4")] |