diff options
Diffstat (limited to 'sources/pyside6/PySide6/glue/qtcore.cpp')
-rw-r--r-- | sources/pyside6/PySide6/glue/qtcore.cpp | 39 |
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 |