[neon/forks/pyqt6/Neon/release] /: New upstream version 6.11.0
Dmitry Shachnev
null at kde.org
Mon Jul 27 14:39:11 BST 2026
Git commit 628750d86635194e57c78e182abd47191574c012 by Dmitry Shachnev.
Committed on 31/03/2026 at 13:28.
Pushed by carlosdem into branch 'Neon/release'.
New upstream version 6.11.0
M +20 -0 ChangeLog
M +4 -0 NEWS
M +3 -3 PKG-INFO
M +2 -6 project.py
M +3 -3 pyproject.toml
M +4 -3 sip/QtCore/QtCoremod.sip
M +12 -0 sip/QtCore/qchar.sip
M +3 -0 sip/QtCore/qdatastream.sip
M +6 -0 sip/QtCore/qlocale.sip
M +6 -0 sip/QtCore/qmetaobject.sip
M +3 -0 sip/QtCore/qnamespace.sip
M +3 -0 sip/QtCore/qobject.sip
M +23 -0 sip/QtCore/qrangemodel.sip
M +8 -1 sip/QtCore/qsavefile.sip
M +11 -0 sip/QtCore/qstringconverter_base.sip
M +3 -0 sip/QtCore/qtemporaryfile.sip
M +3 -0 sip/QtCore/qtextboundaryfinder.sip
M +1 -0 sip/QtGui/QtGuimod.sip
M +3 -0 sip/QtGui/qpainter.sip
A +251 -0 sip/QtGui/qpygui_qmap.sip
M +36 -0 sip/QtGui/qquaternion.sip
M +7 -0 sip/QtGui/qrawfont.sip
M +18 -0 sip/QtGui/qtextformat.sip
M +5 -6 sip/QtGui/qtextlayout.sip
M +9 -0 sip/QtNetwork/qabstractsocket.sip
M +3 -0 sip/QtNetwork/qauthenticator.sip
M +21 -0 sip/QtNetwork/qnetworkrequest.sip
M +3 -0 sip/QtNetwork/qssl.sip
M +9 -0 sip/QtQml/qqmlcontext.sip
M +1 -1 sip/QtQml/qqmlerror.sip
M +1 -1 sip/QtQml/qqmlproperty.sip
M +10 -0 sip/QtQml/qqmlpropertymap.sip
M +1 -1 sip/QtQuick/qquicktextdocument.sip
M +5 -0 sip/QtQuick/qquickwindow.sip
M +5 -0 sip/QtSvg/qsvggenerator.sip
M +1 -1 sip/QtSvg/qtsvgglobal.sip
M +5 -0 sip/QtWebSockets/qwebsocketserver.sip
M +0 -1 sip/QtWidgets/QtWidgetsmod.sip
M +6 -0 sip/QtWidgets/qabstractitemview.sip
M +8 -0 sip/QtWidgets/qcolumnview.sip
D +0 -21 sip/QtWidgets/qfilesystemmodel.sip
M +6 -0 sip/QtWidgets/qstyle.sip
M +25 -0 sip/QtWidgets/qstyleoption.sip
M +3 -0 sip/QtWidgets/qwizard.sip
https://invent.kde.org/neon/forks/pyqt6/-/commit/628750d86635194e57c78e182abd47191574c012
diff --git a/ChangeLog b/ChangeLog
index 7c0da8c..c9a692c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+commit 96280ff4fcc57819d220e9d8d323a49b48c866d3
+Author: Phil Thompson <phil at riverbankcomputing.com>
+Date: Tue Mar 24 15:35:53 2026 +0000
+
+ Release v6.11.0
+
+commit b2bf3fc00bfd54dc4574cf9b1bbc9cadea2a2e1c
+Author: Phil Thompson <phil at riverbankcomputing.com>
+Date: Fri Mar 13 15:23:21 2026 +0000
+
+ Support for Qt v6.11
+
+ Added support for Qt v6.11.0rc.
+
+commit 3f91c40015f604d409fde7cef3f671aa9fe8c051
+Author: Phil Thompson <phil at riverbankcomputing.com>
+Date: Tue Jan 13 15:55:31 2026 +0000
+
+ Use %MinimumABIVersion instead of setting the ABI in project.py.
+
commit b12c6f363ca4e6140b4c5ebbe6b1c820b123c3a9
Author: Phil Thompson <phil at riverbankcomputing.com>
Date: Thu Jan 8 12:33:27 2026 +0000
diff --git a/NEWS b/NEWS
index 53f52f8..b571cde 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,7 @@
+v6.11.0 24th March 2026
+ - Added support for Qt v6.11.
+ - Python v3.9 is no longer supported.
+
v6.10.2 8th January 2026
- Fixed a regression introduced in v6.5.0 in the handling of the return value
of `QSqlQueryModel.query()`.
diff --git a/PKG-INFO b/PKG-INFO
index 4fd2bea..954a3be 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,11 +1,11 @@
Metadata-Version: 2.4
Name: PyQt6
-Version: 6.10.2
-Requires-Python: >=3.9
+Version: 6.11.0
+Requires-Python: >=3.10
Summary: Python bindings for the Qt cross platform application toolkit
Description-Content-Type: text/markdown
Project-Url: homepage, https://www.riverbankcomputing.com/software/pyqt/
-Requires-Dist: PyQt6-sip (>=13.8, <14)
+Requires-Dist: PyQt6-sip (>=13.11, <14)
License-Expression: GPL-3.0-only
License-File: LICENSE
Author-Email: Riverbank Computing Limited <info at riverbankcomputing.com>
diff --git a/project.py b/project.py
index 688f200..5af0317 100644
--- a/project.py
+++ b/project.py
@@ -27,10 +27,6 @@ from sipbuild import (Buildable, BuildableModule, Installable, Option,
UserException)
-# The minimum sip module ABI version needed.
-ABI_VERSION = '13.8'
-
-
class PyQt(PyQtProject):
""" The PyQt6 project. """
@@ -39,8 +35,8 @@ class PyQt(PyQtProject):
# We specify the name of the sip module because PyQt-builder doesn't
# provide it if we are creating an sdist.
- super().__init__(abi_version=ABI_VERSION, sip_module='PyQt6.sip',
- dunder_init=True, tag_prefix='Qt', console_scripts=[
+ super().__init__(sip_module='PyQt6.sip', dunder_init=True,
+ tag_prefix='Qt', console_scripts=[
'pylupdate6 = PyQt6.lupdate.pylupdate:main',
'pyuic6 = PyQt6.uic.pyuic:main'])
diff --git a/pyproject.toml b/pyproject.toml
index 850dc01..4699191 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,16 +1,16 @@
# Specify the build system for the project.
[build-system]
-requires = ["sip >=6.13.1, <7", "PyQt-builder >=1.19, <2"]
+requires = ["sip >=6.15, <7", "PyQt-builder >=1.19, <2"]
build-backend = "sipbuild.api"
[project]
name = "PyQt6"
-version = "6.10.2"
+version = "6.11.0"
description = "Python bindings for the Qt cross platform application toolkit"
readme = "README.md"
urls.homepage = "https://www.riverbankcomputing.com/software/pyqt/"
dependencies = []
-requires-python = ">=3.9"
+requires-python = ">=3.10"
license = "GPL-3.0-only"
license-files = ["LICENSE"]
diff --git a/sip/QtCore/QtCoremod.sip b/sip/QtCore/QtCoremod.sip
index c963d01..de16dc7 100644
--- a/sip/QtCore/QtCoremod.sip
+++ b/sip/QtCore/QtCoremod.sip
@@ -22,7 +22,7 @@
%Module(name=PyQt6.QtCore, call_super_init=True, default_VirtualErrorHandler=PyQt6, keyword_arguments="Optional", use_limited_api=True, py_ssize_t_clean=True)
-%Timeline {Qt_6_0_0 Qt_6_1_0 Qt_6_2_0 Qt_6_3_0 Qt_6_4_0 Qt_6_5_0 Qt_6_6_0 Qt_6_7_0 Qt_6_8_0 Qt_6_9_0 Qt_6_10_0}
+%Timeline {Qt_6_0_0 Qt_6_1_0 Qt_6_2_0 Qt_6_3_0 Qt_6_4_0 Qt_6_5_0 Qt_6_6_0 Qt_6_7_0 Qt_6_8_0 Qt_6_9_0 Qt_6_10_0 Qt_6_11_0}
%Platforms {Android iOS Linux macOS WebAssembly Windows}
@@ -66,6 +66,7 @@ WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
%Plugin PyQt6
+%MinimumABIVersion "13.8"
%DefaultEncoding "ASCII"
%Include(name=pyqt-internal.sip5, optional=True)
@@ -78,8 +79,8 @@ int PYQT_VERSION;
const char *PYQT_VERSION_STR;
%ModuleCode
-static int PYQT_VERSION = 0x060a02;
-static const char *PYQT_VERSION_STR = "6.10.2";
+static int PYQT_VERSION = 0x060b00;
+static const char *PYQT_VERSION_STR = "6.11.0";
%End
%Include qglobal.sip
diff --git a/sip/QtCore/qchar.sip b/sip/QtCore/qchar.sip
index ea1001c..07699d2 100644
--- a/sip/QtCore/qchar.sip
+++ b/sip/QtCore/qchar.sip
@@ -252,6 +252,18 @@ public:
%End
%If (Qt_6_9_0 -)
Script_TuluTigalari,
+%End
+%If (Qt_6_11_0 -)
+ Script_Sidetic,
+%End
+%If (Qt_6_11_0 -)
+ Script_TaiYo,
+%End
+%If (Qt_6_11_0 -)
+ Script_TolongSiki,
+%End
+%If (Qt_6_11_0 -)
+ Script_BeriaErfe,
%End
};
};
diff --git a/sip/QtCore/qdatastream.sip b/sip/QtCore/qdatastream.sip
index b08db17..85ed8b6 100644
--- a/sip/QtCore/qdatastream.sip
+++ b/sip/QtCore/qdatastream.sip
@@ -91,6 +91,9 @@ public:
%End
%If (Qt_6_10_0 -)
Qt_6_10,
+%End
+%If (Qt_6_11_0 -)
+ Qt_6_11,
%End
};
diff --git a/sip/QtCore/qlocale.sip b/sip/QtCore/qlocale.sip
index 0678451..8e37f37 100644
--- a/sip/QtCore/qlocale.sip
+++ b/sip/QtCore/qlocale.sip
@@ -433,6 +433,12 @@ public:
%End
%If (Qt_6_9_0 -)
SwampyCree,
+%End
+%If (Qt_6_11_0 -)
+ Ladin,
+%End
+%If (Qt_6_11_0 -)
+ Shan,
%End
};
diff --git a/sip/QtCore/qmetaobject.sip b/sip/QtCore/qmetaobject.sip
index 32f6b79..56696db 100644
--- a/sip/QtCore/qmetaobject.sip
+++ b/sip/QtCore/qmetaobject.sip
@@ -270,6 +270,12 @@ public:
QMetaType metaType() const;
bool isBindable() const;
int typeId() const;
+%If (Qt_6_11_0 -)
+ bool isVirtual() const;
+%End
+%If (Qt_6_11_0 -)
+ bool isOverride() const;
+%End
};
class QMetaClassInfo
diff --git a/sip/QtCore/qnamespace.sip b/sip/QtCore/qnamespace.sip
index c0f09c2..3fad087 100644
--- a/sip/QtCore/qnamespace.sip
+++ b/sip/QtCore/qnamespace.sip
@@ -1178,6 +1178,9 @@ namespace Qt
AccessibleDescriptionRole,
SizeHintRole,
InitialSortOrderRole,
+%If (Qt_6_11_0 -)
+ RangeModelAdapterRole,
+%End
UserRole,
};
diff --git a/sip/QtCore/qobject.sip b/sip/QtCore/qobject.sip
index f601cf3..9f0f1c0 100644
--- a/sip/QtCore/qobject.sip
+++ b/sip/QtCore/qobject.sip
@@ -561,6 +561,9 @@ public:
%If (Qt_6_4_0 -)
bool isQuickItemType() const;
%End
+%If (Qt_6_11_0 -)
+ bool isQmlExposed() const;
+%End
private:
QObject(const QObject &);
diff --git a/sip/QtCore/qrangemodel.sip b/sip/QtCore/qrangemodel.sip
index 651cd44..2e72ff6 100644
--- a/sip/QtCore/qrangemodel.sip
+++ b/sip/QtCore/qrangemodel.sip
@@ -92,6 +92,29 @@ protected slots:
protected:
virtual bool event(QEvent *);
virtual bool eventFilter(QObject *, QEvent *);
+
+public:
+%If (Qt_6_11_0 -)
+
+ enum class AutoConnectPolicy
+ {
+ None,
+ Full,
+ OnRead,
+ };
+
+%End
+%If (Qt_6_11_0 -)
+ QRangeModel::AutoConnectPolicy autoConnectPolicy() const;
+%End
+%If (Qt_6_11_0 -)
+ void setAutoConnectPolicy(QRangeModel::AutoConnectPolicy policy);
+%End
+
+signals:
+%If (Qt_6_11_0 -)
+ void autoConnectPolicyChanged(QRangeModel::AutoConnectPolicy policy);
+%End
};
%End
diff --git a/sip/QtCore/qsavefile.sip b/sip/QtCore/qsavefile.sip
index ba8b807..246b14d 100644
--- a/sip/QtCore/qsavefile.sip
+++ b/sip/QtCore/qsavefile.sip
@@ -27,9 +27,16 @@ class QSaveFile : public QFileDevice
%End
public:
- explicit QSaveFile(const QString &name);
+%If (Qt_6_11_0 -)
+ QSaveFile(const QString &name, QObject *parent /TransferThis/ = 0);
+%End
explicit QSaveFile(QObject *parent /TransferThis/ = 0);
+%If (- Qt_6_11_0)
+ explicit QSaveFile(const QString &name);
+%End
+%If (- Qt_6_11_0)
QSaveFile(const QString &name, QObject *parent /TransferThis/);
+%End
virtual ~QSaveFile();
virtual QString fileName() const;
void setFileName(const QString &name);
diff --git a/sip/QtCore/qstringconverter_base.sip b/sip/QtCore/qstringconverter_base.sip
index a69bb30..c92fb6c 100644
--- a/sip/QtCore/qstringconverter_base.sip
+++ b/sip/QtCore/qstringconverter_base.sip
@@ -71,6 +71,17 @@ public:
System,
};
+%If (Qt_6_11_0 -)
+
+ enum class FinalizeResultError : quint8
+ {
+ NoError,
+ InvalidCharacters,
+ NotEnoughSpace,
+ };
+
+%End
+
protected:
QStringConverter();
QStringConverter(QStringConverter::Encoding encoding, QStringConverterBase::Flags f);
diff --git a/sip/QtCore/qtemporaryfile.sip b/sip/QtCore/qtemporaryfile.sip
index 4c184f7..51ba175 100644
--- a/sip/QtCore/qtemporaryfile.sip
+++ b/sip/QtCore/qtemporaryfile.sip
@@ -41,6 +41,9 @@ public:
static QTemporaryFile *createNativeFile(const QString &fileName) /Factory,ReleaseGIL/;
static QTemporaryFile *createNativeFile(QFile &file) /Factory,ReleaseGIL/;
bool rename(const QString &newName);
+%If (Qt_6_11_0 -)
+ bool renameOverwrite(const QString &newName);
+%End
protected:
virtual bool open(QIODeviceBase::OpenMode flags) /ReleaseGIL/;
diff --git a/sip/QtCore/qtextboundaryfinder.sip b/sip/QtCore/qtextboundaryfinder.sip
index 47d027e..4c2db63 100644
--- a/sip/QtCore/qtextboundaryfinder.sip
+++ b/sip/QtCore/qtextboundaryfinder.sip
@@ -62,4 +62,7 @@ public:
qsizetype toPreviousBoundary();
bool isAtBoundary() const;
QTextBoundaryFinder::BoundaryReasons boundaryReasons() const;
+%If (Qt_6_11_0 -)
+ void swap(QTextBoundaryFinder &other /Constrained/);
+%End
};
diff --git a/sip/QtGui/QtGuimod.sip b/sip/QtGui/QtGuimod.sip
index 531a3e6..2c28f9d 100644
--- a/sip/QtGui/QtGuimod.sip
+++ b/sip/QtGui/QtGuimod.sip
@@ -138,6 +138,7 @@ WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
%Include qwindow.sip
%Include qwindowdefs.sip
%Include qpygui_native_interface.sip
+%Include qpygui_qmap.sip
%Include qpygui_qlist.sip
%Include qpygui_vulkan.sip
%Include opengl_types.sip
diff --git a/sip/QtGui/qpainter.sip b/sip/QtGui/qpainter.sip
index fd294d0..ccf71ff 100644
--- a/sip/QtGui/qpainter.sip
+++ b/sip/QtGui/qpainter.sip
@@ -548,6 +548,9 @@ public:
void fillRect(int x, int y, int w, int h, QGradient::Preset preset);
void fillRect(const QRect &r, QGradient::Preset preset);
void fillRect(const QRectF &r, QGradient::Preset preset);
+%If (Qt_6_11_0 -)
+ QPointF brushOriginF() const;
+%End
private:
QPainter(const QPainter &);
diff --git a/sip/QtGui/qpygui_qmap.sip b/sip/QtGui/qpygui_qmap.sip
new file mode 100644
index 0000000..66e3306
--- /dev/null
+++ b/sip/QtGui/qpygui_qmap.sip
@@ -0,0 +1,251 @@
+// This is the SIP interface definition for the QMap mapped types specific to
+// QtGui.
+//
+// Copyright (c) 2026 Riverbank Computing Limited <info at riverbankcomputing.com>
+//
+// This file is part of PyQt6.
+//
+// This file may be used under the terms of the GNU General Public License
+// version 3.0 as published by the Free Software Foundation and appearing in
+// the file LICENSE included in the packaging of this file. Please review the
+// following information to ensure the GNU General Public License version 3.0
+// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
+//
+// If you do not wish to use this file under the terms of the GPL version 3.0
+// then you may purchase a commercial license. For more information contact
+// info at riverbankcomputing.com.
+//
+// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+
+%If (Qt_6_11_0 -)
+
+template<_TYPE_, quint32>
+%MappedType QMap<_TYPE_, quint32>
+ /TypeHint="Dict[_TYPE_, int]", TypeHintValue="{}"/
+{
+%TypeHeaderCode
+#include <qfont.h>
+#include <qmap.h>
+%End
+
+%ConvertFromTypeCode
+ PyObject *d = PyDict_New();
+
+ if (!d)
+ return 0;
+
+ QMap<_TYPE_, quint32>::const_iterator it = sipCpp->constBegin();
+ QMap<_TYPE_, quint32>::const_iterator end = sipCpp->constEnd();
+
+ while (it != end)
+ {
+ _TYPE_ *k = new _TYPE_(it.key());
+ PyObject *kobj = sipConvertFromNewType(k, sipType__TYPE_,
+ sipTransferObj);
+
+ if (!kobj)
+ {
+ delete k;
+ Py_DECREF(d);
+
+ return 0;
+ }
+
+ PyObject *vobj = PyLong_FromUnsignedLong(it.value());
+
+ if (!vobj)
+ {
+ Py_DECREF(kobj);
+ Py_DECREF(d);
+
+ return 0;
+ }
+
+ int rc = PyDict_SetItem(d, kobj, vobj);
+
+ Py_DECREF(vobj);
+ Py_DECREF(kobj);
+
+ if (rc < 0)
+ {
+ Py_DECREF(d);
+
+ return 0;
+ }
+
+ ++it;
+ }
+
+ return d;
+%End
+
+%ConvertToTypeCode
+ if (!sipIsErr)
+ return PyDict_Check(sipPy);
+
+ QMap<_TYPE_, quint32> *qm = new QMap<_TYPE_, quint32>;
+
+ Py_ssize_t pos = 0;
+ PyObject *kobj, *vobj;
+
+ while (PyDict_Next(sipPy, &pos, &kobj, &vobj))
+ {
+ int kstate;
+ _TYPE_ *k = reinterpret_cast<_TYPE_ *>(
+ sipForceConvertToType(kobj, sipType__TYPE_, sipTransferObj,
+ SIP_NOT_NONE, &kstate, sipIsErr));
+
+ if (*sipIsErr)
+ {
+ PyErr_Format(PyExc_TypeError,
+ "a dict key has type '%s' but '_TYPE_' is expected",
+ sipPyTypeName(Py_TYPE(kobj)));
+
+ delete qm;
+
+ return 0;
+ }
+
+ quint32 v = sipLong_AsUnsignedInt(vobj);
+
+ if (PyErr_Occurred())
+ {
+ if (PyErr_ExceptionMatches(PyExc_TypeError))
+ PyErr_Format(PyExc_TypeError,
+ "a dict value has type '%s' but 'int' is expected",
+ sipPyTypeName(Py_TYPE(vobj)));
+
+ delete qm;
+ *sipIsErr = 1;
+
+ return 0;
+ }
+
+ qm->insert(*k, v);
+
+ sipReleaseType(k, sipType__TYPE_, kstate);
+ }
+
+ *sipCppPtr = qm;
+
+ return sipGetState(sipTransferObj);
+%End
+};
+
+
+template<_TYPE_, float>
+%MappedType QMap<_TYPE_, float>
+ /TypeHint="Dict[_TYPE_, float]", TypeHintValue="{}"/
+{
+%TypeHeaderCode
+#include <qfont.h>
+#include <qmap.h>
+%End
+
+%ConvertFromTypeCode
+ PyObject *d = PyDict_New();
+
+ if (!d)
+ return 0;
+
+ QMap<_TYPE_, float>::const_iterator it = sipCpp->constBegin();
+ QMap<_TYPE_, float>::const_iterator end = sipCpp->constEnd();
+
+ while (it != end)
+ {
+ _TYPE_ *k = new _TYPE_(it.key());
+ PyObject *kobj = sipConvertFromNewType(k, sipType__TYPE_,
+ sipTransferObj);
+
+ if (!kobj)
+ {
+ delete k;
+ Py_DECREF(d);
+
+ return 0;
+ }
+
+ PyObject *vobj = PyFloat_FromDouble(it.value());
+
+ if (!vobj)
+ {
+ Py_DECREF(kobj);
+ Py_DECREF(d);
+
+ return 0;
+ }
+
+ int rc = PyDict_SetItem(d, kobj, vobj);
+
+ Py_DECREF(vobj);
+ Py_DECREF(kobj);
+
+ if (rc < 0)
+ {
+ Py_DECREF(d);
+
+ return 0;
+ }
+
+ ++it;
+ }
+
+ return d;
+%End
+
+%ConvertToTypeCode
+ if (!sipIsErr)
+ return PyDict_Check(sipPy);
+
+ QMap<_TYPE_, float> *qm = new QMap<_TYPE_, float>;
+
+ Py_ssize_t pos = 0;
+ PyObject *kobj, *vobj;
+
+ while (PyDict_Next(sipPy, &pos, &kobj, &vobj))
+ {
+ int kstate;
+ _TYPE_ *k = reinterpret_cast<_TYPE_ *>(
+ sipForceConvertToType(kobj, sipType__TYPE_, sipTransferObj,
+ SIP_NOT_NONE, &kstate, sipIsErr));
+
+ if (*sipIsErr)
+ {
+ PyErr_Format(PyExc_TypeError,
+ "a dict key has type '%s' but '_TYPE_' is expected",
+ sipPyTypeName(Py_TYPE(kobj)));
+
+ delete qm;
+
+ return 0;
+ }
+
+ float v = PyFloat_AsDouble(vobj);
+
+ if (PyErr_Occurred())
+ {
+ if (PyErr_ExceptionMatches(PyExc_TypeError))
+ PyErr_Format(PyExc_TypeError,
+ "a dict value has type '%s' but 'float' is expected",
+ sipPyTypeName(Py_TYPE(vobj)));
+
+ delete qm;
+ *sipIsErr = 1;
+
+ return 0;
+ }
+
+ qm->insert(*k, v);
+
+ sipReleaseType(k, sipType__TYPE_, kstate);
+ }
+
+ *sipCppPtr = qm;
+
+ return sipGetState(sipTransferObj);
+%End
+};
+
+%End
diff --git a/sip/QtGui/qquaternion.sip b/sip/QtGui/qquaternion.sip
index 8088dae..4372734 100644
--- a/sip/QtGui/qquaternion.sip
+++ b/sip/QtGui/qquaternion.sip
@@ -92,6 +92,9 @@ public:
QMatrix3x3 toRotationMatrix() const;
static QQuaternion fromRotationMatrix(const QMatrix3x3 &rot3x3);
void getAxes(QVector3D *xAxis /Out/, QVector3D *yAxis /Out/, QVector3D *zAxis /Out/) const;
+%If (Qt_6_11_0 -)
+ static QQuaternion fromAxes(QQuaternion::Axes axes);
+%End
static QQuaternion fromAxes(const QVector3D &xAxis, const QVector3D &yAxis, const QVector3D &zAxis);
static QQuaternion fromDirection(const QVector3D &direction, const QVector3D &up);
static QQuaternion rotationTo(const QVector3D &from, const QVector3D &to);
@@ -100,6 +103,39 @@ public:
QQuaternion conjugated() const;
QVector3D toEulerAngles() const;
static QQuaternion fromEulerAngles(const QVector3D &eulerAngles);
+%If (Qt_6_11_0 -)
+
+ struct Axis
+ {
+%TypeHeaderCode
+#include <qquaternion.h>
+%End
+
+ float x;
+ float y;
+ float z;
+ static QQuaternion::Axis fromVector3D(QVector3D v);
+ QVector3D toVector3D() const;
+ };
+
+%End
+%If (Qt_6_11_0 -)
+
+ struct Axes
+ {
+%TypeHeaderCode
+#include <qquaternion.h>
+%End
+
+ QQuaternion::Axis x;
+ QQuaternion::Axis y;
+ QQuaternion::Axis z;
+ };
+
+%End
+%If (Qt_6_11_0 -)
+ QQuaternion::Axes toAxes() const;
+%End
};
bool operator==(const QQuaternion &q1, const QQuaternion &q2);
diff --git a/sip/QtGui/qrawfont.sip b/sip/QtGui/qrawfont.sip
index 2e05a95..ddfc1fe 100644
--- a/sip/QtGui/qrawfont.sip
+++ b/sip/QtGui/qrawfont.sip
@@ -90,6 +90,13 @@ public:
%MethodCode
sipRes = qHash(*sipCpp);
%End
+
+%If (Qt_6_11_0 -)
+ quint32 glyphCount() const;
+%End
+%If (Qt_6_11_0 -)
+ QString glyphName(quint32 glyphIndex) const;
+%End
};
%End
diff --git a/sip/QtGui/qtextformat.sip b/sip/QtGui/qtextformat.sip
index 1b1ecef..d0cd0b9 100644
--- a/sip/QtGui/qtextformat.sip
+++ b/sip/QtGui/qtextformat.sip
@@ -237,6 +237,12 @@ public:
%End
%If (Qt_6_8_0 -)
ImageMaxWidth,
+%End
+%If (Qt_6_11_0 -)
+ FontFeatures,
+%End
+%If (Qt_6_11_0 -)
+ FontVariableAxes,
%End
UserProperty,
};
@@ -413,6 +419,18 @@ public:
qreal subScriptBaseline() const;
void setBaselineOffset(qreal baseline);
qreal baselineOffset() const;
+%If (Qt_6_11_0 -)
+ void setFontFeatures(const QMap<QFont::Tag, quint32> &fontFeatures);
+%End
+%If (Qt_6_11_0 -)
+ QMap<QFont::Tag, quint32> fontFeatures() const;
+%End
+%If (Qt_6_11_0 -)
+ void setFontVariableAxes(const QMap<QFont::Tag, float> &fontVariableAxes);
+%End
+%If (Qt_6_11_0 -)
+ QMap<QFont::Tag, float> fontVariableAxes() const;
+%End
};
class QTextBlockFormat : public QTextFormat
diff --git a/sip/QtGui/qtextlayout.sip b/sip/QtGui/qtextlayout.sip
index 42669be..a8155b2 100644
--- a/sip/QtGui/qtextlayout.sip
+++ b/sip/QtGui/qtextlayout.sip
@@ -115,19 +115,15 @@ public:
void setFormats(const QList<QTextLayout::FormatRange> &overrides);
QList<QTextLayout::FormatRange> formats() const;
void clearFormats();
-
-private:
- QTextLayout(const QTextLayout &);
-
-public:
%If (Qt_6_5_0 -)
- enum GlyphRunRetrievalFlag
+ enum GlyphRunRetrievalFlag : quint16
{
RetrieveGlyphIndexes,
RetrieveGlyphPositions,
RetrieveStringIndexes,
RetrieveString,
+ DefaultRetrievalFlags,
RetrieveAll,
};
@@ -135,6 +131,9 @@ public:
%If (Qt_6_5_0 -)
typedef QFlags<QTextLayout::GlyphRunRetrievalFlag> GlyphRunRetrievalFlags;
%End
+
+private:
+ QTextLayout(const QTextLayout &);
};
class QTextLine
diff --git a/sip/QtNetwork/qabstractsocket.sip b/sip/QtNetwork/qabstractsocket.sip
index a178124..e696716 100644
--- a/sip/QtNetwork/qabstractsocket.sip
+++ b/sip/QtNetwork/qabstractsocket.sip
@@ -298,6 +298,15 @@ public:
SendBufferSizeSocketOption,
ReceiveBufferSizeSocketOption,
PathMtuSocketOption,
+%If (Qt_6_11_0 -)
+ KeepAliveIdleOption,
+%End
+%If (Qt_6_11_0 -)
+ KeepAliveIntervalOption,
+%End
+%If (Qt_6_11_0 -)
+ KeepAliveCountOption,
+%End
};
virtual void setSocketOption(QAbstractSocket::SocketOption option, const QVariant &value);
diff --git a/sip/QtNetwork/qauthenticator.sip b/sip/QtNetwork/qauthenticator.sip
index ae587fb..4c60c94 100644
--- a/sip/QtNetwork/qauthenticator.sip
+++ b/sip/QtNetwork/qauthenticator.sip
@@ -41,4 +41,7 @@ public:
QVariant option(const QString &opt) const;
QVariantHash options() const;
void setOption(const QString &opt, const QVariant &value);
+%If (Qt_6_11_0 -)
+ void clear();
+%End
};
diff --git a/sip/QtNetwork/qnetworkrequest.sip b/sip/QtNetwork/qnetworkrequest.sip
index 8846c1c..c34f0d5 100644
--- a/sip/QtNetwork/qnetworkrequest.sip
+++ b/sip/QtNetwork/qnetworkrequest.sip
@@ -184,4 +184,25 @@ public:
%If (Qt_6_8_0 -)
void setHeaders(const QHttpHeaders &newHeaders);
%End
+%If (Qt_6_11_0 -)
+ static const std::chrono::milliseconds DefaultTransferTimeout;
+%End
+%If (Qt_6_11_0 -)
+ std::chrono::seconds tcpKeepAliveIdleTimeBeforeProbes() const;
+%End
+%If (Qt_6_11_0 -)
+ void setTcpKeepAliveIdleTimeBeforeProbes(std::chrono::seconds idle);
+%End
+%If (Qt_6_11_0 -)
+ std::chrono::seconds tcpKeepAliveIntervalBetweenProbes() const;
+%End
+%If (Qt_6_11_0 -)
+ void setTcpKeepAliveIntervalBetweenProbes(std::chrono::seconds interval);
+%End
+%If (Qt_6_11_0 -)
+ int tcpKeepAliveProbeCount() const;
+%End
+%If (Qt_6_11_0 -)
+ void setTcpKeepAliveProbeCount(int probes);
+%End
};
diff --git a/sip/QtNetwork/qssl.sip b/sip/QtNetwork/qssl.sip
index a05ccb3..eccc546 100644
--- a/sip/QtNetwork/qssl.sip
+++ b/sip/QtNetwork/qssl.sip
@@ -47,6 +47,9 @@ namespace QSsl
Dsa,
Ec,
Dh,
+%If (Qt_6_11_0 -)
+ MlDsa,
+%End
};
enum AlternativeNameEntryType
diff --git a/sip/QtQml/qqmlcontext.sip b/sip/QtQml/qqmlcontext.sip
index 9ec4eb5..177ff07 100644
--- a/sip/QtQml/qqmlcontext.sip
+++ b/sip/QtQml/qqmlcontext.sip
@@ -57,4 +57,13 @@ public:
%If (Qt_6_2_0 -)
QObject *objectForName(const QString &) const;
%End
+%If (Qt_6_11_0 -)
+ QList<QQmlContext *> childContexts() const;
+%End
+%If (Qt_6_11_0 -)
+ QObject *findObjectRecursively(const QString &id) const;
+%End
+%If (Qt_6_11_0 -)
+ QList<QObject *> findObjectsRecursively(const QString &id) const;
+%End
};
diff --git a/sip/QtQml/qqmlerror.sip b/sip/QtQml/qqmlerror.sip
index 465c054..0ac34d2 100644
--- a/sip/QtQml/qqmlerror.sip
+++ b/sip/QtQml/qqmlerror.sip
@@ -45,7 +45,7 @@ public:
QtMsgType messageType() const;
void setMessageType(QtMsgType messageType);
%If (Qt_6_4_0 -)
- void swap(QQmlError &other);
+ void swap(QQmlError &other /Constrained/);
%End
};
diff --git a/sip/QtQml/qqmlproperty.sip b/sip/QtQml/qqmlproperty.sip
index 7526ad6..19204b1 100644
--- a/sip/QtQml/qqmlproperty.sip
+++ b/sip/QtQml/qqmlproperty.sip
@@ -106,7 +106,7 @@ public:
QMetaProperty property() const;
QMetaMethod method() const;
%If (Qt_6_3_0 -)
- void swap(QQmlProperty &other);
+ void swap(QQmlProperty &other /Constrained/);
%End
};
diff --git a/sip/QtQml/qqmlpropertymap.sip b/sip/QtQml/qqmlpropertymap.sip
index 59a6032..f359007 100644
--- a/sip/QtQml/qqmlpropertymap.sip
+++ b/sip/QtQml/qqmlpropertymap.sip
@@ -50,4 +50,14 @@ signals:
protected:
virtual QVariant updateValue(const QString &key, const QVariant &input);
+
+public:
+%If (Qt_6_11_0 -)
+ static SIP_PYOBJECT create(QObject *parent /GetWrapper/ = 0) /TypeHint="QQmlPropertyMap|None"/;
+%MethodCode
+ sipRes = sipConvertFromType(QQmlPropertyMap::create(a0),
+ sipType_QQmlPropertyMap, a0Wrapper);
+%End
+
+%End
};
diff --git a/sip/QtQuick/qquicktextdocument.sip b/sip/QtQuick/qquicktextdocument.sip
index cfa51b8..0d8315b 100644
--- a/sip/QtQuick/qquicktextdocument.sip
+++ b/sip/QtQuick/qquicktextdocument.sip
@@ -29,7 +29,7 @@ class QQuickTextDocument : public QObject
public:
%If (Qt_6_7_0 -)
- enum class Status
+ enum class Status : quint8
{
Null,
Loading,
diff --git a/sip/QtQuick/qquickwindow.sip b/sip/QtQuick/qquickwindow.sip
index 7d3082a..ae1739a 100644
--- a/sip/QtQuick/qquickwindow.sip
+++ b/sip/QtQuick/qquickwindow.sip
@@ -199,6 +199,11 @@ public:
QQuickGraphicsDevice graphicsDevice() const;
void setGraphicsConfiguration(const QQuickGraphicsConfiguration &config);
QQuickGraphicsConfiguration graphicsConfiguration() const;
+
+signals:
+%If (Qt_6_11_0 -)
+ void devicePixelRatioChanged();
+%End
};
class QQuickCloseEvent;
diff --git a/sip/QtSvg/qsvggenerator.sip b/sip/QtSvg/qsvggenerator.sip
index 363b5f7..5a7d89e 100644
--- a/sip/QtSvg/qsvggenerator.sip
+++ b/sip/QtSvg/qsvggenerator.sip
@@ -66,4 +66,9 @@ public:
%If (Qt_6_5_0 -)
QSvgGenerator::SvgVersion svgVersion() const;
%End
+
+protected:
+%If (Qt_6_11_0 -)
+ virtual void initPainter(QPainter *) const;
+%End
};
diff --git a/sip/QtSvg/qtsvgglobal.sip b/sip/QtSvg/qtsvgglobal.sip
index 821be87..f45ea33 100644
--- a/sip/QtSvg/qtsvgglobal.sip
+++ b/sip/QtSvg/qtsvgglobal.sip
@@ -28,7 +28,7 @@ namespace QtSvg
#include <qtsvgglobal.h>
%End
- enum Option
+ enum Option : quint32
{
NoOption,
Tiny12FeaturesOnly,
diff --git a/sip/QtWebSockets/qwebsocketserver.sip b/sip/QtWebSockets/qwebsocketserver.sip
index 24958ff..e0bd7e6 100644
--- a/sip/QtWebSockets/qwebsocketserver.sip
+++ b/sip/QtWebSockets/qwebsocketserver.sip
@@ -94,6 +94,11 @@ public:
%If (Qt_6_4_0 -)
QStringList supportedSubprotocols() const;
%End
+
+signals:
+%If (Qt_6_11_0 -)
+ void sslErrorsOccurred(QSslSocket *socket, const QList<QSslError> &errors);
+%End
};
%End
diff --git a/sip/QtWidgets/QtWidgetsmod.sip b/sip/QtWidgets/QtWidgetsmod.sip
index 5996533..cbd20a1 100644
--- a/sip/QtWidgets/QtWidgetsmod.sip
+++ b/sip/QtWidgets/QtWidgetsmod.sip
@@ -157,5 +157,4 @@ WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
%Include qwidget.sip
%Include qwidgetaction.sip
%Include qwizard.sip
-%Include qfilesystemmodel.sip
%Include qpywidgets_qlist.sip
diff --git a/sip/QtWidgets/qabstractitemview.sip b/sip/QtWidgets/qabstractitemview.sip
index a721dae..9dfdf49 100644
--- a/sip/QtWidgets/qabstractitemview.sip
+++ b/sip/QtWidgets/qabstractitemview.sip
@@ -287,4 +287,10 @@ public:
%If (Qt_6_9_0 -)
void setUpdateThreshold(int threshold);
%End
+%If (Qt_6_11_0 -)
+ Qt::MatchFlags keyboardSearchFlags() const;
+%End
+%If (Qt_6_11_0 -)
+ void setKeyboardSearchFlags(Qt::MatchFlags searchFlags);
+%End
};
diff --git a/sip/QtWidgets/qcolumnview.sip b/sip/QtWidgets/qcolumnview.sip
index 14fddfc..049b3a0 100644
--- a/sip/QtWidgets/qcolumnview.sip
+++ b/sip/QtWidgets/qcolumnview.sip
@@ -62,4 +62,12 @@ protected:
protected slots:
virtual void currentChanged(const QModelIndex ¤t, const QModelIndex &previous);
+
+public:
+%If (Qt_6_11_0 -)
+ void setPreviewColumnVisible(bool visible);
+%End
+%If (Qt_6_11_0 -)
+ bool isPreviewColumnVisible() const;
+%End
};
diff --git a/sip/QtWidgets/qfilesystemmodel.sip b/sip/QtWidgets/qfilesystemmodel.sip
deleted file mode 100644
index 58d1966..0000000
--- a/sip/QtWidgets/qfilesystemmodel.sip
+++ /dev/null
@@ -1,21 +0,0 @@
-// qfilesystemmodel.sip generated by MetaSIP
-//
-// This file is part of the QtWidgets Python extension module.
-//
-// Copyright (c) 2026 Riverbank Computing Limited <info at riverbankcomputing.com>
-//
-// This file is part of PyQt6.
-//
-// This file may be used under the terms of the GNU General Public License
-// version 3.0 as published by the Free Software Foundation and appearing in
-// the file LICENSE included in the packaging of this file. Please review the
-// following information to ensure the GNU General Public License version 3.0
-// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
-//
-// If you do not wish to use this file under the terms of the GPL version 3.0
-// then you may purchase a commercial license. For more information contact
-// info at riverbankcomputing.com.
-//
-// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
diff --git a/sip/QtWidgets/qstyle.sip b/sip/QtWidgets/qstyle.sip
index 21ee5db..c317fff 100644
--- a/sip/QtWidgets/qstyle.sip
+++ b/sip/QtWidgets/qstyle.sip
@@ -579,6 +579,12 @@ public:
%End
%If (Qt_6_3_0 -)
SH_SpinBox_SelectOnStep,
+%End
+%If (Qt_6_11_0 -)
+ SH_ComboBox_ListMouseTracking_Current,
+%End
+%If (Qt_6_11_0 -)
+ SH_ComboBox_ListMouseTracking_Active,
%End
SH_CustomBase,
};
diff --git a/sip/QtWidgets/qstyleoption.sip b/sip/QtWidgets/qstyleoption.sip
index e3c2fab..7ed5474 100644
--- a/sip/QtWidgets/qstyleoption.sip
+++ b/sip/QtWidgets/qstyleoption.sip
@@ -62,7 +62,11 @@ class QStyleOption
break;
case QStyleOption::SO_MenuItem:
+ #if QT_VERSION >= 0x060b00
+ sipType = sipType_QStyleOptionMenuItemV2;
+ #else
sipType = sipType_QStyleOptionMenuItem;
+ #endif
break;
case QStyleOption::SO_ProgressBar:
@@ -555,6 +559,27 @@ public:
QStyleOptionMenuItem(const QStyleOptionMenuItem &other);
};
+%If (Qt_6_11_0 -)
+
+class QStyleOptionMenuItemV2 : public QStyleOptionMenuItem
+{
+%TypeHeaderCode
+#include <qstyleoption.h>
+%End
+
+public:
+ enum StyleOptionVersion
+ {
+ Version,
+ };
+
+ QStyleOptionMenuItemV2();
+ QStyleOptionMenuItemV2(const QStyleOptionMenuItemV2 &other);
+ bool mouseDown;
+};
+
+%End
+
class QStyleOptionDockWidget : public QStyleOption
{
%TypeHeaderCode
diff --git a/sip/QtWidgets/qwizard.sip b/sip/QtWidgets/qwizard.sip
index 4455bf8..9e0a389 100644
--- a/sip/QtWidgets/qwizard.sip
+++ b/sip/QtWidgets/qwizard.sip
@@ -76,6 +76,9 @@ public:
HaveCustomButton2,
HaveCustomButton3,
NoCancelButtonOnLastPage,
+%If (Qt_6_11_0 -)
+ StretchBanner,
+%End
};
typedef QFlags<QWizard::WizardOption> WizardOptions;
More information about the Neon-commits
mailing list