diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-11-05 13:45:32 +0100 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-11-05 19:43:51 +0100 |
| commit | a7a8138bae00ef1aecafed04a8ac265a9c6f07ff (patch) | |
| tree | b4fbb8a40df7a660499ca7ce41758f6fb98dc203 /sources/pyside6 | |
| parent | 3d903c91f6e00e8cff75e7cc8a0619008dd6c59f (diff) | |
PySide6: Add a __repr__ method for QQmlError
This is handy for debugging QML.
Pick-to: 6.2
Change-Id: Ic9c98a27377416debaa41ab1f95b3b10db4f143d
Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/pyside6')
| -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 b58b18ee7..340869df1 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); |
