aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2021-03-02 13:48:40 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2021-03-10 11:19:16 +0100
commit077b30d72614f8d2176335f03e3a8568ccbcedc6 (patch)
tree787cb5eaa7ef976879eb2002e435376d34842135 /sources/pyside6
parent6b2637544902cf9a11384b167f03bf2b4b7d7417 (diff)
PySide6: Brush up the injected code snippets and templates
- Use qsizetype (or equivalent Py_ssize_t) for containers - Introduce some auto - Use constData() for QByteArray - Use Qt 5 connection syntax - Use nullptr Change-Id: Ie9134a4f756219d6e5c5710ab64c09a236febd4d Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'sources/pyside6')
-rw-r--r--sources/pyside6/PySide6/glue/qtcore.cpp50
-rw-r--r--sources/pyside6/PySide6/glue/qtgui.cpp15
-rw-r--r--sources/pyside6/PySide6/glue/qtuitools.cpp7
-rw-r--r--sources/pyside6/PySide6/glue/qtwidgets.cpp34
-rw-r--r--sources/pyside6/PySide6/templates/datavisualization_common.xml20
-rw-r--r--sources/pyside6/PySide6/templates/gui_common.xml14
-rw-r--r--sources/pyside6/PySide6/templates/widgets_common.xml10
7 files changed, 77 insertions, 73 deletions
diff --git a/sources/pyside6/PySide6/glue/qtcore.cpp b/sources/pyside6/PySide6/glue/qtcore.cpp
index dcf08c4be..27ad9797c 100644
--- a/sources/pyside6/PySide6/glue/qtcore.cpp
+++ b/sources/pyside6/PySide6/glue/qtcore.cpp
@@ -70,11 +70,11 @@ if (typeObj) {
QByteArray out_ba = out.toByteArray();
if (!out_ba.isEmpty()) {
QByteArrayList valuesList = out_ba.split(',');
- const int valuesSize = valuesList.size();
+ const Py_ssize_t valuesSize = valuesList.size();
if (valuesSize > 0) {
PyObject *list = PyList_New(valuesSize);
- for (int i = 0; i < valuesSize; i++) {
- PyObject *item = PyUnicode_FromString(valuesList[i].data());
+ for (Py_ssize_t i = 0; i < valuesSize; ++i) {
+ PyObject *item = PyUnicode_FromString(valuesList.at(i).constData());
PyList_SET_ITEM(list, i, item);
}
%PYARG_0 = list;
@@ -87,10 +87,10 @@ if (typeObj) {
}
} else if (typeObj == &PyBytes_Type) {
QByteArray asByteArray = out.toByteArray();
- %PYARG_0 = PyBytes_FromString(asByteArray.data());
+ %PYARG_0 = PyBytes_FromString(asByteArray.constData());
} else if (typeObj == &PyUnicode_Type) {
QByteArray asByteArray = out.toByteArray();
- %PYARG_0 = PyUnicode_FromString(asByteArray.data());
+ %PYARG_0 = PyUnicode_FromString(asByteArray.constData());
} else if (typeObj == &PyLong_Type) {
float asFloat = out.toFloat();
pyResult = PyLong_FromDouble(asFloat);
@@ -1020,8 +1020,8 @@ static int SbkQByteArray_getbufferproc(PyObject *obj, Py_buffer *view, int flags
view->ndim = 1;
view->shape = (flags & PyBUF_ND) == PyBUF_ND ? &(view->len) : nullptr;
view->strides = &view->itemsize;
- view->suboffsets = NULL;
- view->internal = NULL;
+ view->suboffsets = nullptr;
+ view->internal = nullptr;
Py_XINCREF(obj);
return 0;
@@ -1186,8 +1186,8 @@ uchar *ptr = reinterpret_cast<uchar *>(Shiboken::Buffer::getPointer(%PYARG_1));
// @snippet qfiledevice-map
// @snippet qiodevice-readdata
-QByteArray ba(1 + int(%2), char(0));
-%CPPSELF.%FUNCTION_NAME(ba.data(), int(%2));
+QByteArray ba(1 + qsizetype(%2), char(0));
+%CPPSELF.%FUNCTION_NAME(ba.data(), qint64(%2));
%PYARG_0 = Shiboken::String::fromCString(ba.constData());
// @snippet qiodevice-readdata
@@ -1222,7 +1222,7 @@ if (socket != nullptr) {
// @snippet qtranslator-load
Py_ssize_t size;
-uchar *ptr = reinterpret_cast<uchar *>(Shiboken::Buffer::getPointer(%PYARG_1, &size));
+auto *ptr = reinterpret_cast<uchar *>(Shiboken::Buffer::getPointer(%PYARG_1, &size));
%RETURN_TYPE %0 = %CPPSELF.%FUNCTION_NAME(const_cast<const uchar *>(ptr), size);
%PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](%0);
// @snippet qtranslator-load
@@ -1231,8 +1231,9 @@ uchar *ptr = reinterpret_cast<uchar *>(Shiboken::Buffer::getPointer(%PYARG_1, &s
// %FUNCTION_NAME() - disable generation of c++ function call
(void) %2; // remove warning about unused variable
Shiboken::AutoDecRef emptyTuple(PyTuple_New(0));
-PyObject *pyTimer = reinterpret_cast<PyTypeObject *>(Shiboken::SbkType<QTimer>())->tp_new(Shiboken::SbkType<QTimer>(), emptyTuple, 0);
-reinterpret_cast<PyTypeObject *>(Shiboken::SbkType<QTimer>())->tp_init(pyTimer, emptyTuple, 0);
+auto *timerType = reinterpret_cast<PyTypeObject *>(Shiboken::SbkType<QTimer>());
+auto *pyTimer = timerType->tp_new(Shiboken::SbkType<QTimer>(), emptyTuple, nullptr);
+timerType->tp_init(pyTimer, emptyTuple, nullptr);
auto timer = %CONVERTTOCPP[QTimer *](pyTimer);
//XXX /|\ omitting this space crashes shiboken!
@@ -1245,18 +1246,19 @@ Shiboken::AutoDecRef result(
%PYARG_2,
%3)
);
-Shiboken::Object::releaseOwnership((SbkObject *)pyTimer);
+Shiboken::Object::releaseOwnership(reinterpret_cast<SbkObject *>(pyTimer));
Py_XDECREF(pyTimer);
timer->setSingleShot(true);
-timer->connect(timer, SIGNAL(timeout()), timer, SLOT(deleteLater()));
+timer->connect(timer, &QTimer::timeout, timer, &QObject::deleteLater);
timer->start(%1);
// @snippet qtimer-singleshot-1
// @snippet qtimer-singleshot-2
// %FUNCTION_NAME() - disable generation of c++ function call
Shiboken::AutoDecRef emptyTuple(PyTuple_New(0));
-PyObject *pyTimer = reinterpret_cast<PyTypeObject *>(Shiboken::SbkType<QTimer>())->tp_new(Shiboken::SbkType<QTimer>(), emptyTuple, 0);
-reinterpret_cast<PyTypeObject *>(Shiboken::SbkType<QTimer>())->tp_init(pyTimer, emptyTuple, 0);
+auto *timerType = reinterpret_cast<PyTypeObject *>(Shiboken::SbkType<QTimer>());
+auto *pyTimer = timerType->tp_new(Shiboken::SbkType<QTimer>(), emptyTuple, nullptr);
+timerType->tp_init(pyTimer, emptyTuple, nullptr);
QTimer * timer = %CONVERTTOCPP[QTimer *](pyTimer);
timer->setSingleShot(true);
@@ -1283,7 +1285,7 @@ if (PyObject_TypeCheck(%2, PySideSignalInstanceTypeF())) {
);
}
-timer->connect(timer, SIGNAL(timeout()), timer, SLOT(deleteLater()), Qt::DirectConnection);
+timer->connect(timer, &QTimer::timeout, timer, &QObject::deleteLater, Qt::DirectConnection);
Shiboken::Object::releaseOwnership(reinterpret_cast<SbkObject *>(pyTimer));
Py_XDECREF(pyTimer);
timer->start(%1);
@@ -1406,8 +1408,10 @@ if (PyObject_TypeCheck(%1, PySideSignalInstanceTypeF())) {
// @snippet qsignaltransition
// @snippet qstate-addtransition-1
-QString signalName(%2);
-if (PySide::SignalManager::registerMetaMethod(%1, signalName.mid(1).toLatin1().data(), QMetaMethod::Signal)) {
+QByteArray signalName(%2);
+signalName.remove(0, 1);
+if (PySide::SignalManager::registerMetaMethod(%1, signalName.constData(),
+ QMetaMethod::Signal)) {
QSignalTransition *%0 = %CPPSELF->addTransition(%1, %2, %3);
%PYARG_0 = %CONVERTTOPYTHON[QSignalTransition *](%0);
} else {
@@ -1534,9 +1538,9 @@ if (PyBytes_Check(%PYARG_0)) {
// @snippet return-readData
// @snippet qiodevice-readData
-QByteArray ba(1 + int(%2), char(0));
+QByteArray ba(1 + qsizetype(%2), char(0));
Py_BEGIN_ALLOW_THREADS
-%CPPSELF.%FUNCTION_NAME(ba.data(), int(%2));
+%CPPSELF.%FUNCTION_NAME(ba.data(), qint64(%2));
Py_END_ALLOW_THREADS
%PYARG_0 = Shiboken::String::fromCString(ba.constData());
// @snippet qiodevice-readData
@@ -1604,7 +1608,7 @@ Py_UNICODE *unicode = PyUnicode_AS_UNICODE(%in);
# endif // Qt 6
# endif
#else
-wchar_t *temp = PyUnicode_AsWideCharString(%in, NULL);
+wchar_t *temp = PyUnicode_AsWideCharString(%in, nullptr);
%out = QString::fromWCharArray(temp);
PyMem_Free(temp);
#endif
@@ -1755,7 +1759,7 @@ return PyUnicode_FromStringAndSize(ba.constData(), ba.size());
// @snippet return-pyunicode
// @snippet return-pyunicode-qchar
-wchar_t c = (wchar_t)%in.unicode();
+auto c = wchar_t(%in.unicode());
return PyUnicode_FromWideChar(&c, 1);
// @snippet return-pyunicode-qchar
diff --git a/sources/pyside6/PySide6/glue/qtgui.cpp b/sources/pyside6/PySide6/glue/qtgui.cpp
index 914c5d904..cc0f23cba 100644
--- a/sources/pyside6/PySide6/glue/qtgui.cpp
+++ b/sources/pyside6/PySide6/glue/qtgui.cpp
@@ -98,7 +98,7 @@ if (QTransform::squareToQuad(%1, _result)) {
// @snippet qtransform-squaretoquad
// @snippet qbitmap-fromdata
-uchar *buffer = reinterpret_cast<uchar *>(Shiboken::Buffer::getPointer(%PYARG_2));
+auto *buffer = reinterpret_cast<uchar *>(Shiboken::Buffer::getPointer(%PYARG_2));
QBitmap %0 = QBitmap::fromData(%1, buffer, %3);
%PYARG_0 = %CONVERTTOPYTHON[QBitmap](%0);
// @snippet qbitmap-fromdata
@@ -150,11 +150,12 @@ int value = %2;
// @snippet qopenglshaderprogram_setuniformvalue_int
// @snippet qpolygon-reduce
-PyObject *points = PyList_New(%CPPSELF.count());
-for (int i = 0, i_max = %CPPSELF.count(); i < i_max; ++i){
+const Py_ssize_t count = %CPPSELF.count();
+PyObject *points = PyList_New(count);
+for (Py_ssize_t i = 0; i < count; ++i){
int x, y;
%CPPSELF.point(i, &x, &y);
- QPoint pt = QPoint(x, y);
+ QPoint pt{x, y};
PyList_SET_ITEM(points, i, %CONVERTTOPYTHON[QPoint](pt));
}
// @snippet qpolygon-reduce
@@ -189,7 +190,7 @@ for (int i = 0, i_max = %CPPSELF.count(); i < i_max; ++i){
// @snippet qcolor-setstate
Shiboken::AutoDecRef func(PyObject_GetAttr(%PYSELF, PyTuple_GET_ITEM(%1, 0)));
PyObject *args = PyTuple_GET_ITEM(%1, 1);
-%PYARG_0 = PyObject_Call(func, args, NULL);
+%PYARG_0 = PyObject_Call(func, args, nullptr);
// @snippet qcolor-setstate
// @snippet qcolor-reduce
@@ -476,7 +477,7 @@ PyTuple_SET_ITEM(%PYARG_0, 1, %CONVERTTOPYTHON[%ARG1_TYPE](%1));
Shiboken::AutoDecRef seq(PySequence_Fast(%PYARG_1, "Can't turn into sequence"));
if (PySequence_Size(seq) == 16) {
float values[16];
- for (int i=0; i < 16; ++i) {
+ for (Py_ssize_t i = 0; i < 16; ++i) {
PyObject *pv = PySequence_Fast_GET_ITEM(seq.object(), i);
values[i] = PyFloat_AsDouble(pv);
}
@@ -492,7 +493,7 @@ if (PySequence_Size(seq) == 16) {
float values[16];
%CPPSELF.%FUNCTION_NAME(values);
%PYARG_0 = PyTuple_New(16);
-for (int i = 0; i < 16; ++i) {
+for (Py_ssize_t i = 0; i < 16; ++i) {
PyObject *v = PyFloat_FromDouble(values[i]);
PyTuple_SET_ITEM(%PYARG_0, i, v);
}
diff --git a/sources/pyside6/PySide6/glue/qtuitools.cpp b/sources/pyside6/PySide6/glue/qtuitools.cpp
index 40646e74b..ea45aeeb5 100644
--- a/sources/pyside6/PySide6/glue/qtuitools.cpp
+++ b/sources/pyside6/PySide6/glue/qtuitools.cpp
@@ -44,9 +44,10 @@
*/
#include <shiboken.h>
-#include <QUiLoader>
-#include <QFile>
-#include <QWidget>
+
+#include <QtUiTools/QUiLoader>
+#include <QtWidgets/QWidget>
+#include <QtCore/QFile>
static void createChildrenNameAttributes(PyObject *root, QObject *object)
{
diff --git a/sources/pyside6/PySide6/glue/qtwidgets.cpp b/sources/pyside6/PySide6/glue/qtwidgets.cpp
index 4f9baadf1..d3e95e3cb 100644
--- a/sources/pyside6/PySide6/glue/qtwidgets.cpp
+++ b/sources/pyside6/PySide6/glue/qtwidgets.cpp
@@ -68,7 +68,7 @@ if (%0) {
// @snippet qgraphicsitem-scene-return-parenting
// @snippet qgraphicsitem-isblockedbymodalpanel
-QGraphicsItem *item_ = NULL;
+QGraphicsItem *item_ = nullptr;
%RETURN_TYPE retval_ = %CPPSELF.%FUNCTION_NAME(&item_);
%PYARG_0 = PyTuple_New(2);
PyTuple_SET_ITEM(%PYARG_0, 0, %CONVERTTOPYTHON[%RETURN_TYPE](retval_));
@@ -153,7 +153,7 @@ for (auto *act : actions) {
if (auto wrapper = bm.retrieveWrapper(act)) {
auto pyObj = reinterpret_cast<PyObject *>(wrapper);
Py_INCREF(pyObj);
- Shiboken::Object::setParent(NULL, pyObj);
+ Shiboken::Object::setParent(nullptr, pyObj);
Shiboken::Object::invalidate(pyObj);
Py_DECREF(pyObj);
}
@@ -190,7 +190,7 @@ addActionWithPyObject(QMenuBar *self, const QString &text, PyObject *callback)
const auto &actions = %CPPSELF.actions();
for (auto *act : actions) {
Shiboken::AutoDecRef pyAct(%CONVERTTOPYTHON[QAction *](act));
- Shiboken::Object::setParent(NULL, pyAct);
+ Shiboken::Object::setParent(nullptr, pyAct);
Shiboken::Object::invalidate(pyAct);
}
// @snippet qmenubar-clear
@@ -245,7 +245,7 @@ inline void addLayoutOwnership(QLayout *layout, QWidget *widget)
//Transfer parent to layout widget
if (pw && lw && pw != lw)
- Shiboken::Object::setParent(0, pyChild);
+ Shiboken::Object::setParent(nullptr, pyChild);
if (!lw && !pw) {
//keep the reference while the layout is orphan
@@ -272,7 +272,7 @@ inline void addLayoutOwnership(QLayout *layout, QLayout *other)
return;
}
- for (int i=0, i_max=other->count(); i < i_max; i++) {
+ for (int i = 0, i_max = other->count(); i < i_max; ++i) {
QLayoutItem *item = other->itemAt(i);
if (PyErr_Occurred() || !item)
return;
@@ -303,19 +303,17 @@ inline void addLayoutOwnership(QLayout *layout, QLayoutItem *item)
static void removeWidgetFromLayout(QLayout *layout, QWidget *widget)
{
- QWidget *parent = widget->parentWidget();
-
- if (!parent) {
+ if (QWidget *parent = widget->parentWidget()) {
+ //give the ownership to parent
+ Shiboken::AutoDecRef pyParent(%CONVERTTOPYTHON[QWidget *](parent));
+ Shiboken::AutoDecRef pyChild(%CONVERTTOPYTHON[QWidget *](widget));
+ Shiboken::Object::setParent(pyParent, pyChild);
+ } else {
//remove reference on layout
Shiboken::AutoDecRef pyParent(%CONVERTTOPYTHON[QWidget *](layout));
Shiboken::AutoDecRef pyChild(%CONVERTTOPYTHON[QWidget *](widget));
Shiboken::Object::removeReference(reinterpret_cast<SbkObject *>(pyParent.object()),
retrieveObjectName(pyParent).data(), pyChild);
- } else {
- //give the ownership to parent
- Shiboken::AutoDecRef pyParent(%CONVERTTOPYTHON[QWidget *](parent));
- Shiboken::AutoDecRef pyChild(%CONVERTTOPYTHON[QWidget *](widget));
- Shiboken::Object::setParent(pyParent, pyChild);
}
}
@@ -339,7 +337,7 @@ inline void removeLayoutOwnership(QLayout *layout, QWidget *widget)
if (!widget)
return;
- for (int i=0, i_max=layout->count(); i < i_max; i++) {
+ for (int i = 0, i_max = layout->count(); i < i_max; ++i) {
QLayoutItem *item = layout->itemAt(i);
if (PyErr_Occurred() || !item)
return;
@@ -442,7 +440,7 @@ for (int i = 0, count = %CPPSELF.count(); i < count; ++i) {
if (auto wrapper = bm.retrieveWrapper(item)) {
auto pyObj = reinterpret_cast<PyObject *>(wrapper);
Py_INCREF(pyObj);
- Shiboken::Object::setParent(NULL, pyObj);
+ Shiboken::Object::setParent(nullptr, pyObj);
Shiboken::Object::invalidate(pyObj);
Py_DECREF(pyObj);
}
@@ -616,7 +614,7 @@ const auto &toolButtonChildren = %CPPSELF.findChildren<QToolButton *>();
for (auto *child : toolButtonChildren) {
if (bm.hasWrapper(child)) {
PyObject *pyChild = %CONVERTTOPYTHON[QToolButton *](child);
- Shiboken::Object::setParent(0, pyChild);
+ Shiboken::Object::setParent(nullptr, pyChild);
lst << pyChild;
}
}
@@ -625,12 +623,12 @@ for (auto *child : toolButtonChildren) {
const auto &actions = %CPPSELF.actions();
for (auto *act : actions) {
Shiboken::AutoDecRef pyAct(%CONVERTTOPYTHON[QAction *](act));
- Shiboken::Object::setParent(NULL, pyAct);
+ Shiboken::Object::setParent(nullptr, pyAct);
Shiboken::Object::invalidate(pyAct);
}
%CPPSELF.clear();
-for (auto *obj : lst) {
+for (auto *obj : qAsConst(lst)) {
Shiboken::Object::invalidate(reinterpret_cast<SbkObject *>(obj));
Py_XDECREF(obj);
}
diff --git a/sources/pyside6/PySide6/templates/datavisualization_common.xml b/sources/pyside6/PySide6/templates/datavisualization_common.xml
index 9b2b7eadd..49682e06b 100644
--- a/sources/pyside6/PySide6/templates/datavisualization_common.xml
+++ b/sources/pyside6/PySide6/templates/datavisualization_common.xml
@@ -41,13 +41,13 @@
-->
<typesystem>
<template name="cppqlistofptrtoqlists_to_py_conversion">
- const int rowCount = %in.size();
+ const Py_ssize_t rowCount = %in.size();
PyObject* %out = PyList_New(rowCount);
- for (int r = 0; r &lt; rowCount; ++r) {
- const QVector&lt;%INTYPE_0&gt; *row = %in.at(r);
- const int columnCount = row->size();
+ for (Py_ssize_t r = 0; r &lt; rowCount; ++r) {
+ const QList&lt;%INTYPE_0&gt; *row = %in.at(r);
+ const Py_ssize_t columnCount = row->size();
PyObject *pyRow = PyList_New(columnCount);
- for (int c = 0; c &lt; columnCount; ++c) {
+ for (Py_ssize_t c = 0; c &lt; columnCount; ++c) {
const %INTYPE_0 &amp;cppItem = row->at(c);
PyList_SET_ITEM(pyRow, c, %CONVERTTOPYTHON[%INTYPE_0](cppItem));
}
@@ -57,15 +57,15 @@
</template>
<template name="py_to_cppqlistofptrtoqlists_conversion">
- const int rowCount = int(PySequence_Size(%in));
+ const Py_ssize_t rowCount = PySequence_Size(%in);
%OUTTYPE &amp;result = %out;
result.reserve(rowCount);
- for (int r = 0; r &lt; rowCount; ++r) {
+ for (Py_ssize_t r = 0; r &lt; rowCount; ++r) {
Shiboken::AutoDecRef rowItem(PySequence_GetItem(%in, r));
- const int columnCount = int(PySequence_Size(rowItem));
- QVector&lt;%OUTTYPE_0&gt; *row = new QVector&lt;%OUTTYPE_0&gt;;
+ const Py_ssize_t columnCount = PySequence_Size(rowItem);
+ auto *row = new QList&lt;%OUTTYPE_0&gt;;
row->reserve(columnCount);
- for (int c = 0; c &lt; columnCount; ++c) {
+ for (Py_ssize_t c = 0; c &lt; columnCount; ++c) {
Shiboken::AutoDecRef pyItem(PySequence_GetItem(rowItem, c));
%OUTTYPE_0 v = %CONVERTTOCPP[%OUTTYPE_0](pyItem);
row->append(v);
diff --git a/sources/pyside6/PySide6/templates/gui_common.xml b/sources/pyside6/PySide6/templates/gui_common.xml
index 1869af8bb..4cc6358b4 100644
--- a/sources/pyside6/PySide6/templates/gui_common.xml
+++ b/sources/pyside6/PySide6/templates/gui_common.xml
@@ -54,21 +54,21 @@
<template name="load_xpm">
Shiboken::AutoDecRef strList(PySequence_Fast(%PYARG_1, "Invalid sequence."));
- int lineCount = PySequence_Fast_GET_SIZE(strList.object());
- for (int line = 0; line &lt; lineCount; ++line) {
+ Py_ssize_t lineCount = PySequence_Fast_GET_SIZE(strList.object());
+ for (Py_ssize_t line = 0; line &lt; lineCount; ++line) {
if (!Shiboken::String::check(PySequence_Fast_GET_ITEM(strList.object(), line))) {
PyErr_SetString(PyExc_TypeError, "The argument must be a sequence of strings.");
break;
}
}
- const char **xpm = reinterpret_cast&lt;const char**&gt;(malloc(lineCount * sizeof(const char**)));
- for (int line = 0; line &lt; lineCount; ++line)
+ auto xpm = new const char*[lineCount];
+ for (Py_ssize_t line = 0; line &lt; lineCount; ++line)
xpm[line] = Shiboken::String::toCString(PySequence_Fast_GET_ITEM(strList.object(), line));
%0 = new %TYPE(xpm);
- free(xpm);
+ delete [] xpm;
</template>
<template name="qmatrix_map">
@@ -139,7 +139,7 @@
if (PySequence_Check(%PYARG_0)) {
Shiboken::AutoDecRef seq(PySequence_Fast(%PYARG_0, 0));
- int size = PySequence_Fast_GET_SIZE(seq.object());
+ const Py_ssize_t size = PySequence_Fast_GET_SIZE(seq.object());
if (size > 1) {
if (%ISCONVERTIBLE[QString](PySequence_Fast_GET_ITEM(seq.object(), 1)))
@@ -203,7 +203,7 @@
<template name="repr_code_matrix">
QByteArray format(Py_TYPE(%PYSELF)->tp_name);
- format += QByteArray("((");
+ format += QByteArrayLiteral("((");
QList&lt; %MATRIX_TYPE &gt; cppArgs;
%MATRIX_TYPE data[%MATRIX_SIZE];
diff --git a/sources/pyside6/PySide6/templates/widgets_common.xml b/sources/pyside6/PySide6/templates/widgets_common.xml
index 9ce01e79a..1399ef9b1 100644
--- a/sources/pyside6/PySide6/templates/widgets_common.xml
+++ b/sources/pyside6/PySide6/templates/widgets_common.xml
@@ -45,16 +45,16 @@
$CHILD_TYPE* oldChild = %CPPSELF.$FUNCTION_GET_OLD();
if (oldChild &amp;&amp; (oldChild != $CPPARG)) {
Shiboken::AutoDecRef pyChild(%CONVERTTOPYTHON[$CHILD_TYPE*](oldChild));
- Shiboken::Object::setParent(0, pyChild);
+ Shiboken::Object::setParent(nullptr, pyChild);
Shiboken::Object::releaseOwnership(pyChild);
}
Shiboken::Object::setParent(%PYSELF, $PYARG);
</template>
<template name="qgraphicsitem_pysequence">
- int numItems = PySequence_Size(%PYARG_1);
+ const Py_ssize_t numItems = PySequence_Size(%PYARG_1);
Shiboken::AutoArrayPointer&lt;QGraphicsItem*&gt; %out(numItems);
- for (int i=0; i &lt; numItems; i++) {
+ for (Py_ssize_t i = 0; i &lt; numItems; ++i) {
%out[i] = %CONVERTTOCPP[QGraphicsItem*](PySequence_Fast_GET_ITEM(%PYARG_1, i));
}
</template>
@@ -77,9 +77,9 @@
</template>
<template name="pysequence_qstyleoptiongraphicsitem">
- int numOptions = PySequence_Size(%PYARG_2);
+ const Py_ssize_t numOptions = PySequence_Size(%PYARG_2);
Shiboken::AutoArrayPointer&lt;QStyleOptionGraphicsItem&gt; %out(numOptions);
- for (int i=0; i &lt; numOptions; i++) {
+ for (Py_ssize_t i=0; i &lt; numOptions; ++i) {
%out[i] = %CONVERTTOCPP[QStyleOptionGraphicsItem](PySequence_Fast_GET_ITEM(%PYARG_1, i));
}
</template>