* Only convert exact dicts to a QVariantMap and back and not dict
sub-classes.
* Removed an assertion when building dynamic meta-objects, instead just
ignore the attribute if it doesn't have the expected type.
* Fixed the handling of QWizard by pyuic.
* Changed the SIP dependency to v4.8.1 (not necessary but we don't want it
to survive in the wild).
* Changed the roadmap to show how incompatible APIs will be selected.
* Fixed __str__ for QByteArray for Python v3 so it is consistent with
Python v2.
* Reverted the roadmap change about __hash__ being an incompatibile change.
The issue isn't that the hash function has changed (which isn't considered
a compatibility problem) it's that different objects that previously had a
different hash value (based on their id()) now might have the same hash
value.
* Updated the roadmap to show that the __hash__ additions (including QUrl)
are not now considered incompatible changes.
* Removed the Python v3 buffer protocol support for QString.
* Improved the implementation of the Python v3 buffer protocol for QByteArray.
* Fixed a pyuic problem with Python v3 when setting the tab order.
* Added /Transfer/ to QComboBox.setLineEdit().
* Added /KeepReference/ to setValidator() and setCompleter() for QLineEdit
and QComboBox.
* Added the missing setCoordinateMode() and coordinateMode() methods from
QGradient.
* support for Python v3
* support for Qt v4.5.1
* added the QInputContextFactory class
* a new, more Pythonic, API has been added for connecting signals and slots
which does not require knowledge of C++ data types
* new signals can now be defined using pyqtSignal as a more Pythonic
replacement of the __pyqtSignals__ class attribute.
* added the pyqtSlot decorator as a more Pythonic replacement of the
pyqtSignature decorator
* the "type" argument to pyqtProperty() can also be a Python type object
* the "type" argument to Q_ARG() can also be a Python type object
* the "type" argument to Q_RETURN_ARG() can also be a Python type object
* added QT_TR_NOOP_UTF8()
* super() works without restrictions
* replaced the old qtdemo example launcher with a port of the newer version
* added the editabletreemodel.py and fetchmore.py examples
* replaced the old tutorial with the newer Address Book tutorial.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
PyQt is a set of Python bindings for the Qt toolkit. PyQt brings
together the Qt C++ cross-platform toolkit and the cross-platform
interpreted language Python. PyQt contains 300 classes and over
5,750 functions and methods.
PyQt also includes the pyuic and pylupdate utilities which correspond
to the Qt uic and lupdate utilities. pyuic converts the GUI designs
created with Qt Designer to executable Python code. pylupdate
scans Python code, extracts all strings that are candidates for
internationalisation, and creates an XML file for use by Qt Linguist.
The x11/py-qt3-modules and x11/py-qt3-qscintilla packages provide
more Python modules for Qt.