aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/libpyside/pyside.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2022-04-28 14:28:41 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2022-04-28 19:46:59 +0200
commit6e26532b6b8430ba4d8a56aebeea5adf73501faf (patch)
treea46bb0ec2f18fe94a90555bb175be18474d5a096 /sources/pyside6/libpyside/pyside.cpp
parent882cc75ad73de727fe185d8355b6b450989d0fba (diff)
libpyside: Add function to convert a PyTypeObject to a QMetaType
Move the snippet into the library for further use. Task-number: PYSIDE-1898 Change-Id: If04da23cb0a4890474810ca762cc2ee29de480f6 Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/pyside6/libpyside/pyside.cpp')
-rw-r--r--sources/pyside6/libpyside/pyside.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/sources/pyside6/libpyside/pyside.cpp b/sources/pyside6/libpyside/pyside.cpp
index 39b20120d..4abb2da98 100644
--- a/sources/pyside6/libpyside/pyside.cpp
+++ b/sources/pyside6/libpyside/pyside.cpp
@@ -40,6 +40,7 @@
#include "pyside.h"
#include "pysideinit.h"
#include "pysidecleanup.h"
+#include "pysidemetatype.h"
#include "pysideqapp.h"
#include "pysideqobject.h"
#include "pysideutils.h"
@@ -932,5 +933,18 @@ QObject *convertToQObject(PyObject *object, bool raiseError)
return reinterpret_cast<QObject*>(ptr);
}
+QMetaType qMetaTypeFromPyType(PyTypeObject *pyType)
+{
+ if (Shiboken::String::checkType(pyType))
+ return QMetaType(QMetaType::QString);
+ if (pyType == &PyFloat_Type)
+ return QMetaType(QMetaType::Double);
+ if (pyType == &PyLong_Type)
+ return QMetaType(QMetaType::Int);
+ if (pyType == SbkObjectType_TypeF())
+ return QMetaType::fromName(Shiboken::ObjectType::getOriginalName(pyType));
+ return QMetaType::fromName(pyType->tp_name);
+}
+
} //namespace PySide