aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/PySide6/glue/qtcore.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sources/pyside6/PySide6/glue/qtcore.cpp')
-rw-r--r--sources/pyside6/PySide6/glue/qtcore.cpp39
1 files changed, 29 insertions, 10 deletions
diff --git a/sources/pyside6/PySide6/glue/qtcore.cpp b/sources/pyside6/PySide6/glue/qtcore.cpp
index 321aa7264..6b7e1a597 100644
--- a/sources/pyside6/PySide6/glue/qtcore.cpp
+++ b/sources/pyside6/PySide6/glue/qtcore.cpp
@@ -127,6 +127,15 @@ else {
// @snippet qsettings-value
+// @snippet metatype-from-metatype-type
+Shiboken::AutoDecRef intArg;
+if (usingNewEnum())
+ intArg.reset(PyObject_GetAttrString(%PYARG_1, "value"));
+else
+ intArg.reset(PyObject_CallMethod(%PYARG_1, "__int__", nullptr));
+%0 = new %TYPE(PyLong_AsLong(intArg));
+// @snippet metatype-from-metatype-type
+
// @snippet conversion-pytypeobject-qmetatype
auto *pyType = reinterpret_cast<PyTypeObject *&>(%in);
if (Shiboken::String::checkType(pyType))
@@ -411,6 +420,12 @@ QTime time(%4, %5, %6);
%0 = new %TYPE(date, time);
// @snippet qdatetime-2
+// @snippet qdatetime-3
+QDate date(%1, %2, %3);
+QTime time(%4, %5, %6, %7);
+%0 = new %TYPE(date, time, %8);
+// @snippet qdatetime-3
+
// @snippet qdatetime-topython
QDate date = %CPPSELF.date();
QTime time = %CPPSELF.time();
@@ -1578,10 +1593,8 @@ QDebug(&result).nospace() << "<PySide6.QtCore.QEvent(" << %CPPSELF->type() << ")
// @snippet repr-qevent
// @snippet qmetaproperty_write_enum
-if (Shiboken::Enum::check(%PYARG_2)) {
- int in = %CONVERTTOCPP[int](%PYARG_2);
- cppArg1 = QVariant(in);
-}
+if (Shiboken::Enum::check(%PYARG_2))
+ cppArg1 = QVariant(int(Shiboken::Enum::getValue(%PYARG_2)));
// @snippet qmetaproperty_write_enum
// @snippet qdatastream-read-bytes
@@ -1605,11 +1618,17 @@ if (dataChar == nullptr) {
// @snippet qloggingcategory_to_cpp
// @snippet qabstractitemmodel_data
-::QVariant %0 ;
-if (Shiboken::Enum::check(%PYARG_0)) {
- int in = %CONVERTTOCPP[int](%PYARG_0);
- %0 = QVariant(in);
-} else {
+::QVariant %0;
+if (Shiboken::Enum::check(%PYARG_0))
+ %0 = QVariant(int(Shiboken::Enum::getValue(%PYARG_0)));
+else
pythonToCpp(pyResult, &cppResult);
-}
// @snippet qabstractitemmodel_data
+
+// @snippet keycombination-from-keycombination
+cptr = new ::%TYPE(%1);
+// @snippet keycombination-from-keycombination
+
+// @snippet keycombination-from-modifier
+cptr = new ::%TYPE(%1, %2);
+// @snippet keycombination-from-modifier