1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
|
Qt for Python 6.3 is a minor release.
For more details, refer to the online documentation included in this
distribution. The documentation is also available online:
https://doc.qt.io/qtforpython/
Some of the changes listed in this file include issue tracking numbers
corresponding to tasks in the Qt Bug Tracker:
https://bugreports.qt.io/
Each of these identifiers can be entered in the bug tracker to obtain more
information about a particular change.
****************************************************************************
* PySide6 *
****************************************************************************
- The PySide wheels have been split. There is now a PySide6-Essentials
and a PySide6-Addons wheel. The PySide6 wheel has been kept as a convenience
to install all modules.
- The QtNfc module has been added.
- New QML tools have been added: pyside6-metaobjectdump, pyside6-qmltyperegistrar
and pyside6-qmllint.
- Several class decorators have been added for QML: QmlAttached,
QmlExtended, QmlForeign, QmlNamedElement, QmlSingleton and QmlUncreatable.
- class QPyQmlPropertyValueSource for implementing QML value
property sources has been added.
- QML code has been split out from libpyside into a new library libpysideqml.
libpyside thus no longer depends on QtQml and pyside.h no longer includes QML
headers. pyside.h has been split into smaller headers.
- The setup.py --qmake option is deprecated starting with Qt 6.3. Use the
--qtpaths option instead.
- Build directories are now created inside the root ./build directory,
rather than directly under the root of the project.
- A context manager for override cursors has been added. It is now possible
to write code like: with QApplication.setOverrideCursor(Qt.WaitCursor):...
- A completely new development was done to support the fast PyPy implementation.
A listing of all the necessary steps can be found in the extra documentation
for PyPy with PySide in ./doc/pypyside.rst .
- [PYSIDE-535] Support for PyPy was added. Examples were fixed and adapted to
use context managers, for example for QPainter, to ensure
proper deletion.
- [PYSIDE-535] QPainter has become a context manager. Using a with statement
saves the need to call painter.end() .
- [PYSIDE-610] The SSL methods of QWebSockets were enabled.
- [PYSIDE-802] Support for cross-building was added.
- [PYSIDE-841] New tutorials were added: Debugging Tutorial and Signals
and slots.
- [PYSIDE-841] New examples were added: areachart, audiosource, barchart,
blurpicker, borderlayout, btscanner, dragable icons,
mimetypebrowser, relational table model, rendercontrol_opengl,
screenshot, tab dialog and threadedqopenglwidget.
- [PYSIDE-841] Further QML reference examples were added: binding, coercion,
default, extended, grouped, methods, properties and
valuesource.
- [PYSIDE-1318] The MyPy display of `Signal` was corrected so that the
relationship of `Signal` and `SignalInstance` is reflected.
- [PYSIDE-1431] Signal instances allow pass-through of methods with the same
name, explicitly and with multiple inheritance.
- [PYSIDE-1431] Signal initialization now respects the order of subclasses
in the mro().
- [PYSIDE-1670] When a property overrides an existing function with
multiple arity or parameters, an underscore is appended to
the property name.
- [PYSIDE-1675] Error message are more correct now when indexed generic
types are involved like Union, Sequence and Iterable.
- [PYSIDE-1675] A crash when inserting a signal into a non-QObject was
fixed.
- [PYSIDE-1702] snake_case handling now does explicitly not touch user
defined classes.
- [PYSIDE-1705] Properties are now usable in constructors of classes in any
combination of snake_case and true_property.
- [PYSIDE-1746] The byte-compiling of example files is now suppressed to
reduce wheel size.
- [PYSIDE-1758] A left-over replacement of the interactive underscore
variable when QApplication is created was removed.
- [PYSIDE-1760] A race condition caused by the move from distutils to
setuptools with certain Python builds was fixed.
- [PYSIDE-1765] true_property overriding was enabled.
- [PYSIDE-1765] The snake_case feature is now more complete since it renames
hidden methods, too.
- [PYSIDE-1788] __repr__ functions for some QEvent-derived classes were
added.
- [PYSIDE-1252] Entry points for UI tools on macOS were fixed.
- [PYSIDE-1318] mypy-support: The handling of `Signal` was improved.
- [PYSIDE-1431] The equality test for inherited signals was fixed.
- [PYSIDE-1499] The implicit conversion of icon.addPixmap(str) was replaced
by an explicit version which takes PyPathLike.
- [PYSIDE-1520] mypy-support: The handling of slots, enum and PathLike
was improved.
- [PYSIDE-1547] The legacy OpenGL option is now used to build on linux,
removing a dependency to vendor-specific OpenGL libraries.
- [PYSIDE-1605] An opaque container are now used for OpenGL in the
hellogl2 example.
- [PYSIDE-1631] The qmlRegisterType() overload taking a library URL was
added.
- [PYSIDE-1673] QObject.property() was fixed for QFlag types.
- [PYSIDE-1674] QVideoFrame::bits(int) was added.
- [PYSIDE-1675] MyPy support has been improved.
- [PYSIDE-1675] A bug in Slot.__call__ was fixed.
- [PYSIDE-1675] A segfault when signal was applied to non-QObject was fixed.
- [PYSIDE-1681] A hang in QQmlApplicationEngine functions with message
handlers was fixed.
- [PYSIDE-1685] Constructing a QFont from a family string was fixed.
- [PYSIDE-1691] Class QCborTag was added.
- [PYSIDE-1696] QFlags comparison to self was fixed.
- [PYSIDE-1701] A bug in the TicTacToe Qt Designer taskmenu example was fixed.
- [PYSIDE-1702] __feature__: snake_case handling on user defined classes was
fixed.
- [PYSIDE-1703] The build with MSVC 19.29.30136 was fixed.
- [PYSIDE-1708] The QtQuick3D module was added.
- [PYSIDE-1709] A __repr__ function for QMetaObject was added.
- [PYSIDE-1709] The QML metatype json files of Qt are now shipped for usage
by pyside6-qmllint.
- [PYSIDE-1714] The sequence protocol has been implemented for QRegion.
- [PYSIDE-1715] A crash when connecting a slot after disconnecting non-
existent connection to same slot was fixed.
- [PYSIDE-1721] The documentation generation process has been
streamlined and the snippets conversion tool has been improved.
- [PYSIDE-1725] URLs in class inheritance diagrams have been made clickable
(within same module).
- [PYSIDE-1726] The build in case Vulkan is not installed was fixed.
- [PYSIDE-1727] Signature: The __doc__ attribute of classes was fixed.
- [PYSIDE-1730] Name clashes of signals and inherited methods were fixed.
- [PYSIDE-1736] QQmlApplicationEngine.load(str) was fixed.
- [PYSIDE-1755] Nuitka compiled methods are now safely distinguished.
- [PYSIDE-1757] __feature__: A bug in true_property was fixed.
- [PYSIDE-1758] QApplication no longer touches the underscore variable.
- [PYSIDE-1769] Crashes in WebEngine signal emissions were fixed.
- [PYSIDE-1770] Enum QXYSeries.PointConfiguration enum was added.
- [PYSIDE-1798] QVariant can now be converted to enum types.
- [PYSIDE-1804] QByteArray::__msetitem__() was fixed for big endian
architectures.
- [PYSIDE-1815] QAbstractOAuth.setModifyParametersFunction was added.
- [PYSIDE-1824] QLowEnergyServiceData.characteristics() was fixed.
- [PYSIDE-1826] A crash when implementing
QQuickAsyncImageProvider.requestImageResponse() was fixed.
- [PYSIDE-1827] Signals/slots with non-QObject object type parameters were
fixed.
- [PYSIDE-1840] The qFuzzyCompare() overloads for the classes in QtGui were
added.
- [PYSIDE-1845] Properties of type QQmlPropertyMap * were fixed.
- [PYSIDE-1876] Class QPyQmlParserStatus for handling QML parser status
changes has been added.
- [QTBUG-95010] The new Multimedia-API was adopted.
****************************************************************************
* Shiboken6 *
****************************************************************************
- A fast path for converting Python strings to UTF-8 has been added to the
limited API.
- [PYSIDE-454] Attributes for reset() and null-check of smart pointers have
been added.
- [PYSIDE-454] None is now accepted as a shared pointer parameter
and nb_bool was added to shared pointers.
- [PYSIDE-454] Using std::shared_ptr has been simplified; it no longer
requires specifying all implementation headers for the class
declaration to be fully visible.
- [PYSIDE-535] The generated code can now be used with PyPy.
- [PYSIDE-656] The error state is now correctly handled in overridden virtual
methods.
- [PYSIDE-1605] Getters returning containers by reference can now be
modified to return an opaque container by modifying the
return type accordingly.
- [PYSIDE-1605] Bindings for reserve()/capacity() were added to contiguous
opaque containers.
- [PYSIDE-1605] Code generation for functions taking a pointer to a container
has been fixed.
- [PYSIDE-1660] Primitive types are now built-in
unless they are present in type system file.
- [PYSIDE-1660] The macro PyObject_Check() has been removed from libshiboken.
- [PYSIDE-1666] Support for std::wstring has been added.
- [PYSIDE-1666] Pre-defined XML templates for standard container type
conversion have been added.
- [PYSIDE-1666] Common standard containers (std::list, std::vector,
std::pair, std::map, std::unordered_map) are now built-in
unless they were present in type system file.
- [PYSIDE-1666] Predefined templates for standard container types have been
added.
- [PYSIDE-1666] sets are now supported for functions taking C++ sets.
On return, C++ set instances will be converted to PySets
instead of PyLists.
- [PYSIDE-1669] An option to disable implicit conversions has been added.
- [PYSIDE-1675] The .pyi file generation was improved to have correct
slot(), PathLike and better enum handling.
- [PYSIDE-1691] When qualifying function argument default values for the
generated code, shiboken no longer considers each identifier
it cannot otherwise find as an enum value and no longer adds
the class scope to it. This may require manually adding some
replace-default-expression modifications.
- [PYSIDE-1691] Determining the scoped of enum default values of function
arguments has been improved. nullptr is now handled correctly.
- [PYSIDE-1684] A crash when a class cannot be found in the overload
sorter has been fixed.
- [PYSIDE-1697] A memory leak in generated code for keyword arguments was fixed.
supported in argument conversion rules.
- [PYSIDE-1710] Error handling was improved for embedded applications and
builtin modules are trusted as valid modules.
- [PYSIDE-1711] Comparison operators for pointees of smart pointers are now
generated.
- [PYSIDE-1766] XML elements native-to-target and target-to-native are now
- [PYSIDE-1790] Classes marked as final in C++ are now created as final
Python classes.
- [PYSIDE-1790] Bindings for data()/constData() were added to contiguous
opaque containers.
- [PYSIDE-1790] Opaque containers are now always generated for
the specified types regardless of whether instantiations
exist.
- [PYSIDE-1802] The code model parser was adapted to consider .h files as C++.
- [PYSIDE-1806] A configure check for the clang version was added.
|