diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-11-05 13:45:32 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-11-05 20:47:04 +0000 |
commit | 482ee0ce294d77aa8fbb79f2198c28ba500bcc54 (patch) | |
tree | 503f849acae8a2ab0a7e01c7892ed6f1353569f8 | |
parent | 7996c2a74966ab2665c455d35efa2aa938da6ac8 (diff) |
PySide6: Add a __repr__ method for QQmlError
This is handy for debugging QML.
Change-Id: Ic9c98a27377416debaa41ab1f95b3b10db4f143d
Reviewed-by: Christian Tismer <tismer@stackless.com>
(cherry picked from commit a7a8138bae00ef1aecafed04a8ac265a9c6f07ff)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | sources/pyside6/PySide6/QtQml/typesystem_qml.xml | 6 | ||||
-rw-r--r-- | sources/pyside6/PySide6/glue/qtqml.cpp | 5 |
2 files changed, 10 insertions, 1 deletions
diff --git a/sources/pyside6/PySide6/QtQml/typesystem_qml.xml b/sources/pyside6/PySide6/QtQml/typesystem_qml.xml index 901240266..b59a6cf00 100644 --- a/sources/pyside6/PySide6/QtQml/typesystem_qml.xml +++ b/sources/pyside6/PySide6/QtQml/typesystem_qml.xml @@ -179,7 +179,11 @@ <modify-function signature="QQmlComponent(QQmlEngine*,QUrl,QQmlComponent::CompilationMode,QObject*)" allow-thread="yes"/> </object-type> <object-type name="QQmlContext"/> - <value-type name="QQmlError"/> + <value-type name="QQmlError"> + <add-function signature="__repr__" return-type="PyObject*"> + <inject-code class="target" position="beginning" file="../glue/qtqml.cpp" snippet="qmlerrror-repr"/> + </add-function> + </value-type> <object-type name="QQmlDebuggingEnabler"> <enum-type name="StartMode"/> </object-type> diff --git a/sources/pyside6/PySide6/glue/qtqml.cpp b/sources/pyside6/PySide6/glue/qtqml.cpp index 99a1c441a..a0a780a07 100644 --- a/sources/pyside6/PySide6/glue/qtqml.cpp +++ b/sources/pyside6/PySide6/glue/qtqml.cpp @@ -37,6 +37,11 @@ ** ****************************************************************************/ +// @snippet qmlerrror-repr +const QByteArray message = %CPPSELF.toString().toUtf8(); +%PYARG_0 = Shiboken::String::fromCString(message.constData()); +// @snippet qmlerrror-repr + // @snippet qmlregistertype int %0 = PySide::qmlRegisterType(%ARGUMENT_NAMES); %PYARG_0 = %CONVERTTOPYTHON[int](%0); |