v4.3.1 28th September 2007 - Added the pyqtRemoveInputHook() and pyqtRestoreInputHook() functions to the QtCore module. - Added the sandbox GUI shell from Mark Summerfield. - Added the dragdroprobot.py example from Lieven Buts. v4.3 30th July 2007 - Added support for Qt v4.3.0. - partial functions may now be used as slots. - The QByteArray, QChar, QColor, QDate, QDateTime, QKeySequence, QLatin1Char, QLatin1String, QLine, QLineF, QMatrix, QPoint, QPointF, QPolygon, QRect, QRectF, QSize, QSizeF, QString and QTime classes and all enums may be pickled. - configure.py now supports long option names. - Changed the meaning of the -d (--destdir) option to configure.py so that the PyQt4 directory always exists. - Added the --consolidate option to configure.py to generate a consolidated module (only useful if Qt was built as static libraries). - Added the --plugin option to configure.py to specify which of Qt's static plugins should be included (only useful if Qt was built as static libraries). - Added the --enable option to configure.py to specify explicitly which modules are to be built. - Added the --no-qsci-api option to configure.py to disable the installation of the QScintilla API file. - Added the --no-sip-files option to configure.py to disable the installation of the .sip files. v4.2 10th April 2007 - Added the QtDesigner module to allow Qt Designer to be extended using PyQt. This includes the ability to write widget plugins in Python. Many examples are included. - The __pyqtSignals__ class attribute is used to dynamically create new Qt signals. - The existing QtCore.pyqtSignature() decorator can now be used to dynamically create new Qt slots. - The QtCore.pyqtProperty() function is used to dynamically create properties that behave as Qt properties and Python properties at the same time. - Added an implementation of the Qt event loop to be used with the standard Python DBus bindings (v0.80 and later). - A QGradient can be used whenever a QBrush is expected. - A StandardKey can be used whenever a QKeySequence is expected. - On X11 added the QApplication ctors that accept a Display *. - Added qt_set_sequence_auto_mnemonic(), qt_x11_wait_for_window_manager(), qt_mac_secure_keyboard(), qt_mac_set_dock_menu(), qt_mac_set_menubar_icons(), qt_mac_set_menubar_merge(), qt_mac_set_native_menubar() and qt_mac_set_press_and_hold_context() to the QtGui module. - Added support for PyOS_InputHook. - Added the basicsortfiltermodel.py example. v4.1.1 9th December 2006 - lambda functions may now be used as slots. - Added support for Qt Designer v4.2 palettes to pyuic4. v4.1 4th November 2006 - Added support for Python v2.5. - Added support for Qt v4.2 (except for the QtDBus module). - Added the QAxContainer module for the commercial version for Windows. - Added context manager support to the QMutexLocker, QReadLocker and QWriteLocker classes. - Added the QtTest module (only those functions that simulate user interaction). - Added the missing QStylePainter class. - Added the QX11EmbedContainer and QX11EmbedWidget classes for X11. - A Python date object can be used whenever a QDate is expected. - Added the QDate.toPyDate() method to convert a QDate to a Python date object. - A Python datetime object can be used whenever a QDateTime is expected. - Added the QDateTime.toPyDateTime() method to convert a QDateTime to a Python datetime object. - A Python time object can be used whenever a QTime is expected. - Added the QTime.toPyTime() method to convert a QTime to a Python time object. - Added support for Q_ENUMS and Q_FLAGS. - pyrcc4 now conforms to PEP 263. - Added the 2dpainting.py, collidingmice.py, elasticnodes.py, overpainting.py and webbrowser.py examples. - A PyQt4 API file is installed if QScintilla2 is found. v4.0.1 15th July 2006 - QPolygon can be constructed from a Python list of pairs of integer coordinates. QPolygon.setPoints() can also take a Python list of pairs of integer coordinates. - pylupdate4 can now handle .ui files. - pyqt_config_args was added to pyqtconfig.py. v4.0 10th June 2006 - A complete rewrite for Qt v4.