aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2022-05-09 08:31:01 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-05-09 14:58:12 +0000
commit8aeab29c8c9405bb494a6a2d05fbc8ce178ed270 (patch)
tree033700dae80905ee4886a9e7b54fecbd5b693ad5 /sources/pyside6
parentc030469a1ab558aff84871ce0403d8c57076be72 (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.txt1
-rw-r--r--sources/pyside6/PySide6/QtQml/typesystem_qml.xml4
-rw-r--r--sources/pyside6/tests/QtQml/qquickview_test.py9
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")]