diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2024-01-09 08:01:46 +0100 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2024-01-09 10:00:44 +0100 |
| commit | a572450463cd6cf43b2c64a1486239d9cc464778 (patch) | |
| tree | 61caad8c2aeddfa9cb1cadeaf39bb14ffa75af05 /sources/pyside6/PySide6/glue/qtqml.cpp | |
| parent | 3c1a129bd45cf3a16b9ab6d9599d059b986cf8c9 (diff) | |
PySide6: Add QQmlEgine.singletonInstance()
[ChangeLog][PySide6] QQmlEgine.singletonInstance() has been added.
Pick-to: 6.6
Change-Id: Ib1b48df49ca8a183dba415a04f414903f58e435c
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'sources/pyside6/PySide6/glue/qtqml.cpp')
| -rw-r--r-- | sources/pyside6/PySide6/glue/qtqml.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/sources/pyside6/PySide6/glue/qtqml.cpp b/sources/pyside6/PySide6/glue/qtqml.cpp index 20bcfff45..a56db8de6 100644 --- a/sources/pyside6/PySide6/glue/qtqml.cpp +++ b/sources/pyside6/PySide6/glue/qtqml.cpp @@ -62,3 +62,29 @@ return %CONVERTTOPYTHON[%RETURN_TYPE](retval); // @snippet qmlsingleton %PYARG_0 = PySide::Qml::qmlSingletonMacro(%ARGUMENT_NAMES); // @snippet qmlsingleton + +// @snippet qqmlengine-singletoninstance-qmltypeid +QJSValue instance = %CPPSELF.singletonInstance<QJSValue>(%1); +if (instance.isNull()) { + Py_INCREF(Py_None); + %PYARG_0 = Py_None; +} else if (instance.isQObject()) { + QObject *result = instance.toQObject(); + %PYARG_0 = %CONVERTTOPYTHON[QObject *](result); +} else { + %PYARG_0 = %CONVERTTOPYTHON[QJSValue](instance); +} +// @snippet qqmlengine-singletoninstance-qmltypeid + +// @snippet qqmlengine-singletoninstance-typename +QJSValue instance = %CPPSELF.singletonInstance<QJSValue>(%1, %2); +if (instance.isNull()) { + Py_INCREF(Py_None); + %PYARG_0 = Py_None; +} else if (instance.isQObject()) { + QObject *result = instance.toQObject(); + %PYARG_0 = %CONVERTTOPYTHON[QObject *](result); +} else { + %PYARG_0 = %CONVERTTOPYTHON[QJSValue](instance); +} +// @snippet qqmlengine-singletoninstance-typename |
