v3.7 5th July 2003 Implemented __setitem__(), __delitem__(), __add__(), __iadd__(), __mul__(), __imul__(), __eq__() and __ne__() for QStringList. Lots of new examples from Jorge Arroyo. dir() of a PyQt class now returns all attributes. Added bits(), scanLine(), jumpTable() and colorTable() to QImage. Added toShort(), toUShort(), toInt(), toUInt(), toLong(), toULong(), toFloat() and toDouble() to QCString and QString. Added the QWindowsXPStyle (Windows XP only), QextScintillaLexerHTML, QextScintillaLexerSQL and QSignalMapper classes. pyuic (for Qt v3) now accepts a "-test" command line argument to allow generated code to be run to completion without needing any user interaction. Added QextScintilla.modificationAttempted(). v3.6 26th April 2003 Added the QextScintillaAPIs, QextScintillaCommand, QextScintillaCommandSet, QextScintillaMacros and QextScintillaPrinter classes to the qtext module. Added the QCopEnvelope class to the qtpe module. QString.startsWith() was missing for Qt v2 starting with Qt v2.2.0. Implemented the QTextStream << QMainWindow and QTextStream >> QMainWindow operators. pyuic will now extract Python code from the comments section of a .ui file. pyuic now supports PEP 263. Added the biff.py, checklists.py, drawlines.py and modified buttongroups.py examples from Oleksandr Yakovlyev. Added the qtui module (thanks to Hans-Peter Jansen). Support for Qt v3.1.2 added. PYQT_VERSION is now the version encoded as a hexadecimal value. Added PYQT_VERSION_STR. v3.5 11th December 2002 Added the qtext module containing the bindings for QScintilla. Added the missing QDockWindow.drawFrame(), QGLWidget.reparent() and QMainWindow.lineUpDockWindows() methods. Added the missing QGLColorMap class. Support for Qt v3.0.6, v3.1.0 and v3.1.1 added. Added the Qt v3.1.x QAssistantClient, QEventLoop, QIconFactory, QIMComposeEvent, QMutexLocker and QSyntaxHighlighter classes, and qCompress() and qUncompress functions. Removed eric from the distribution as it is now packaged separately. The SQL examples now support PostgreSQL as well as MySQL. Added the Qtopia v1.5.0 AppLnk, AppLnkSet, Config, DateFormat, DocLnk, DocLnkSet, FileManager, FileSelector, FileSelectorItem, FontDatabase, Global, MenuButton, QDawg, QList, QList and Resource classes. v3.4 10th September 2002 More eric updates from Detlev Offenbach, including pylupdate. helpviewer is now installed as a standalone application. Added the progress.py example from Hans-Peter Jansen. Added the mdi.py and canvas.py examples from Sadi Kose. Added QT_TR_NOOP() and QT_TRANSLATE_NOOP(). Added QApplication.winEventFilter(), QWidget.winEvent(), MSG and POINT under Windows. PyQt is now licensed under several licenses including the GPL and a commercial license. v3.3.2 12th July 2002 Build system changes. v3.3.1 9th July 2002 Support for Qt v3.0.5 added. v3.3 7th July 2002 Added README.SunOS. QValueList is now fully implemented as a mapping to a Python list of QPixmap instances. QSqlRecordInfo is now implemented as a Python list of QSqlFieldInfo instances. Added the missing QDoubleValidator.setBottom(), QDoubleValidator.setDecimals(), QDoubleValidator.setTop, QFontMetrics.boundingRect(), QFontMetrics.size(), QIntValidator.setBottom(), QIntValidator.setTop(), QString.compare() and QString.localeAwareCompare(). Added the qmake based build system. Added lots of eric patches from Detlev Offenbach. (eric should now work again and has new features.) Added the SQL examples from Hans-Peter Jansen. pyuic for Qt v3 can now extract Python code from .ui files (thanks to Christian Bird). v3.2.4 18th May 2002 Bug fixes only from the latest SIP. Skipped v3.2.3 to keep the version number in line with SIP. v3.2.2 11th May 2002 Bug fixes only. v3.2.1 5th May 2002 Bug fixes only from the latest SIP. v3.2 5th May 2002 Instances that are sub-classes of QObject and created by Qt (by factory methods, or plugin managers for example) will now have the correct Python class. Added the missing QToolTip.setEnabled() and QToolTip.enabled(). Added support for MacOS X. Added PYQT_VERSION as the PyQt release number as a string. Added the semaphore.py example. Any Python object can now be passed as the data element of a QCustomEvent. configure now searches for Qt v3.0.4. v3.1 23rd March 2002 Removed the internal QDateTimeEditBase and QDragResponseEvent classes. Added the QValueList mapped class. Added the missing QImageTextLangKey class. Added the missing QActionGroup.add(), QActionGroup.addSeparator(), QImage.dotsPerMeterX(), QImage.dotsPerMeterY(), QImage.setDotsPerMeterX(), QImage.setDotsPerMeterY(), QImage.offset(), QImage.setOffset(), QImage.textList(), QImage.textLanguages(), QImage.textKeys(), QImage.text() and QImage.setText() methods. Added support for Qt/Embedded on the Sharp Zaurus. Added the start of the qtpe (Qt Palmtop Environment) module. Changes required for Qt v3.0.1 and v3.0.2. configure now allows the location of zlib to be specified. configure now allows the directory to where the Python modules are installed to be specified. configure now searches for Qt v3.0.1, v3.0.2 and v3.0.3. Changes required by the latest SIP. Added the dragdrop example from Issac Trotts. Added /ReleaseLock/ to everything that might block. Upgraded to autoconf-2.53 and automake-1.6. v3.0 17th November 2001 Added the missing QChar.nbsp class variable. Added the missing QChar.isLetterOrNumber(), QChar.mirroredChar(), QColorDialog.customColor(), QCustomDialog.customCount(), QColorDialog.getRgba(), QCustomDialog.setCustomColor(), QFileDialog.done(), QHeader.setUpdatesEnabled(), QHeader.showEvent(), QIconView.dropped(), QIconViewItem.dropped(), QImage.inputFormatList(), QImage.outputFormatList(), QLayoutIterator.next(), QLineEdit.displayText(), QListBox.isRubberSelecting(), QMenuBar.activateItemAt(), QMenuBar.focusInEvent(), QMenuBar.isDefaultUp(), QMenuBar.minimumSize(), QMenuBar.minimumSizeHint(), QMenuBar.setDefaultUp(), QMenuData.findItem(), QMimeSourceFactory.filePath(), QMimeSourceFactory.addFilePath(), QMotifPlusStyle.drawMenuBarItem(), QMotifPlusStyle.drawPopupMenuItem(), QMotifStyle.drawPopupMenuItem(), QMotifStyle.extraPopupMenuItemWidth(), QMotifStyle.popupMenuItemHeight(), QNetworkProtocol.newChildren(), QPlatinumStyle.drawPopupMenuItem(), QPlatinumStyle.extraPopupMenuItemWidth(), QPlatinumStyle.popupMenuItemHeight(), QPainter.pos(), QPalette.inactive(), QPopupMenu.drawItem(), QPopupMenu.itemHeight(), QPrintDialog.addButton(), QProgressDialog.forceShow(), QScrollBar.lineStep(), QScrollBar.maxValue(), QScrollBar.minValue(), QScrollBar.pageStep(), QScrollBar.setLineStep(), QScrollBar.setMaxValue(), QScrollBar.setMinValue(), QScrollBar.setPageStep(), QScrollBar.setValue(), QScrollBar.value(), QStyle.drawPopupMenuItem(), QStyle.drawMenuBarItem(), QStyle.extraPopupMenuItemWidth(), QStyle.popupMenuItemHeight(), QToolTip.hide(), QToolTipGroup.enabled(), QToolTipGroup.setEnabled(), QTranslator.messages(), QUrlOperator.newChildren(), QUrlOperator.startNextCopy(), QWindowsStyle.drawPopupMenuItem(), QWindowsStyle.extraPopupMenuItemWidth() and QWindowsStyle.popupMenuItemHeight() methods. Added all missing methods that use QDataStream. Added the missing QDir.match(), QObject.connect(), QRect.contains(), QString.append() and QString.prepend() variants. Added the missing QAccel and QImage ctors. Added the missing QColorDrag, QDns, QIconDrag, QIconDragItem, QMenuItem, QSGIStyle and QSound classes. Renamed QDate.isValidDate() to QDate.isValid(), QFile.fileExists() to QFile.exists(), QFile.removeFile() to QFile.remove(), QLineEdit.del() to QLineEdit.delChar(), QMultiLineEdit.deleteChar() to QMultiLineEdit.delChar(), and QTime.IsValidTime() to QTime.isValid(). Added the QCanvasSpline, QCheckTableItem, QComboTableItem, QCustomMenuEvent, QDataBrowser, QDataTable, QDataView, QDateEdit, QDateTimeEdit, QDesktopWidget, QDockArea, QDockWindow, QEditorFactory, QErrorMessage, QGridView, QIMEvent, QKeySequence, QLibrary, QObjectCleanupHandler, QPixmapCache, QProcess, QRegExpValidator, QSettings, QSql, QSqlCursor, QSqlDatabase, QSqlDriver, QSqlEditorFactory, QSqlError, QSqlField, QSqlFieldInfo, QSqlForm, QSqlIndex, QSqlPropertyMap, QSqlQuery, QSqlRecord, QSqlRecordInfo, QSqlResult, QStyleFactory, QStyleOption, QTabletEvent, QTextEdit, QTimeEdit and QWindowsMime Qt3 classes. Added the missing qInitNetworkProtocols() function to the qtnetwork module. Removed the QTableHeader class and QTabWidget.selected() as they are not part of the documented API. Removed the /Transfer/ flag on the QWidget parameters of QBoxLayout.addWidget(), QBoxLayout.insertWidget(), QGridLayout.addMultiCellWidget(), QGridLayout.addWidget() and QLayout.add(). QObject.className() now works with Python classes that sub-class from QObject derived classes. pyuic now generates double quoted strings rather than single quoted strings (to help Qt Linguist). Moved the Canvas module classes to the new qtcanvas module. Moved the Network module classes to the new qtnetwork module. Moved the Table module classes to the new qttable module. Moved the XML module classes to the new qtxml module. configure now handles Qt-mt. Upgraded to autoconf-2.52, automake-1.5 and libtool-1.4.1. v2.5 11th August 2001 Minor configuration changes. Added the missing variants of QPixmap.save(), QWidget.reparent() and QInputDialog.getText(). Added the qtgl module and the gears.py example script (thanks to Toby J Sargeant). QObject.sender() will now return an appropriate value. Fixed QTextView.setText() and QScrollView.addChild(). Fixed the problems with overloads with different C++ signatures but similar Python signatures - QCString.setNum(), QLabel.setNum(), QLCDNumber.checkOverflow(), QString.arg(), QString.number(), QString.setNum(), QVariant() and QWMatrix.map(). Added the missing QTranslator methods. Added the QTranslatorMessage class. configure will now look for Qt v2.3.1. QInterlaceStyle is enabled only for Qt v2.3.1+ as it is broken in 2.3.0 on Windows. Fixed problems with QLineEdit.event() and QMultiLineEdit.event(). Added post-hooks to complement the existing pre-hooks. Added the Pizza example from the Qt Designer manual. Removed the Version keyword for the latest SIP. Fixed the memory leaks related to sipMapCppToSelf() in handwritten code. Changed the build system to handle different versions of PyQt for different versions of Qt. NULL QCanvasItemList, QFileInfoList, QObjectList, QStrList and QWidgetList pointers are now converted to an empty Python list rather than None. Added QDataStream and the QDom classes (thanks to Jim Bublitz). Added the qt_xdisplay(), qt_xscreen() and qt_xrootwin() functions. Added the QColor.getHsv(), QPaintDevice.x11Display(), QPaintDevice.x11AppDisplay(), QPaintDevice.x11SetAppDpiX(), QPaintDevice.x11SetAppDpiY() and QWidget.customEvent() methods. v2.4 22nd April 2001 Added the missing QFileDialog.getExistingDirectory(), QLineEdit.setReadOnly(), QLineEdit.readOnly(), QMotifStyle.comboButtonFocusRect(), QMotifStyle.comboButtonRect() and QMotifStyle.drawComboButton() methods. Added the missing QFileDialog.DirectoryOnly and QPalette.Inactive enum values. Updated the themes.py example. configure now uses the python executable to get the various Python locations. Added support of Qt v2.3.0, ie. QApplication.type(), QFontDatabase.isFixedPitch(), QScrollView.AutoOneFit, QToolBar.styleChange() and QInterlaceStyle. Added the missing final argument to QMultiLineEdit.insertAt(). Added the QCustomEvent class. Upgraded to automake v1.4d and libtool v1.3d. v2.3 4th February 2001 Added the missing QMessage.setTextFormat(), QMessage.textFormat(), QPushButton.isFlat(), QPushButton.setFlat() and QMenuData.insertItem() methods. Added the QCustomMenuItem class. pyuic assumes that custom widgets are in another module and generates code to import them. Other pyuic bug fixes and changes to keep track with Qt v2.2.4. eric bug fixes. Added the addressbook.py, buttongroups.py and menu.py examples. Updated all the tutorial scripts to match those in Qt v2.x. Removed the Qt v1.x specific examples. Removed the deprecated behaviour of repr() for QString, QCString and QByteArray. The Python objects that correspond to C++ instances that are "owned" by Qt are now kept alive without the Python program having to keep an explicit reference. configure now looks for Python 2.1. v2.2 6th November 2000 Added the %Copying directive. Added the missing %HeaderCode in qsizepolicy.sip. Added classes QServerSocket, QSocket and QHostAddress. Added hooks to the QApplication ctors to tell the debugger when it is safe to create QSocketNotifiers (with UNIX you can create QSocketNotifiers before you create the QApplication, with Windows you can't). Other fixes to eric to get it working with Windows. Implemented __str__ of QByteArray, QCString and QString to return an empty string for null instances. Changed __repr__ of the same classes to return a descriptive string for null instances. Added the missing QPalette.setInactive(). Colour related fixes to pyuic (thanks to Robert Roy). Added the documentation section on Python strings, Qt strings and Unicode. v2.1 18th October 2000 Added support for Qt v2.2.1. Added the widgets.py example. Added the eric debugger. Added the missing QCanvasPixmapArray ctor. Added the missing QMenuData.setItemParameter(), QMenuData.itemParameter(), QMenuData.activateItemAt(), QWidget.isHidden(), QWidget.isMaximized(), QMultiLineEdit.getCursorPosition() and QButton.keyReleaseEvent(). Add the len, [] and in operators to QStringList. Various other bug fixes (see ChangeLog). v2.0 14th September 2000 *NOTE* The implementation of enums has changed meaning that your scripts will be need to be changed. Also repr() of a QString will return a unicode object (rather than a string) with versions of Python that support Unicode. Added /Transfer/ to QObject.insertChild(). Added /TransferBack/ to QObject.removeChild() and QTabBar.removeTab(). Changes needed by the latest SIP. Fixed QFontInfo.family() for Qt v2.x (thanks to Joerg Kollmann). Added /Transfer/ etc. to several places in QScrollView, QObject, QHeader, QListView and QListViewItem (thanks to Pete Ware). Updated everything for Qt v2.2.0. Added pyuic. Updated the examples to handle to new form of enums. Added full support for Windows. Install in site-packages if it exists. Changes to handwritten code to support Python 1.6. Integrate QString with Python's Unicode support. v0.12 18th May 2000 The versions of the examples specific to Qt v1.x now get installed in RPMs. Added QListBoxItem.selected(), QStringList.append() and QStringList.prepend(). Added /Transfer/ to QApplication.setStyle(), QLayout.addItem(), QBoxLayout.addItem() and QGridLayout.addItem(). Added themes.py to the examples. Clarified the software license. Changes needed by the latest SIP. v0.11.1 1st April 2000 Fixed the documentation for QPixmap::fill(). Code now compiles with gcc v2.95.2. v0.11 28th March 2000 Added Qt v2.x classes QCDEStyle, QChar, QColorDialog, QCommonStyle, QCString, QFontDialog, QGLayoutIterator, QGrid, QHBox, QHButtonGroup, QHGroupBox, QLayoutItem, QLayoutIterator, QMimeSource, QMimeSourceFactory, QMotifStyle, QPlatinumStyle, QSessionManager, QSimpleRichText, QSizeGrip, QSizePolicy, QSpacerItem, QStringList, QStyle, QStyleSheet, QStyleSheetItem, Qt, QTabWidget, QTextBrowser, QTextCodec, QTextDecoder, QTextEncoder, QTextIStream, QTextOStream, QTextStream, QTextView, QTranslator, QUriDrag, QVBox, QVButtonGroup, QVGroupBox, QWheelEvent, QWidgetItem, QWindowsStyle and QWizard. Many other smaller changes for Qt v2.x. Added TransferThis where needed. v0.10.1 21st January 2000 Fixed a bug in the repr() functions for QString and QByteArray by generating the code using the latest SIP. v0.10 19th December 1999 The .pyc files are now created by the installation process. Added qAppName(), QCursor.handle(), QFont.handle(), QPaintDevice.handle(), QPainter.handle(). Added most of the typedefs. Changed examples/application.py so as not to use the obsolete (and unimplemented) QMessageBox.message(). Fixed bug in QPixmap ctor. Changed the format of version qualifiers for the latest SIP. Various small changes to port to Windows. Added ReleaseLock to QDialog.exec(). Fixed a bug in QRect.coords(). Changed QString and QByteArray from being mapped classes to being regular classes. Changed examples/application.py, examples/dclock.py and examples/dirview.py to explicitly convert from QString where needed. v0.9 6th September 1999 Separated the Qt and KDE bindings. These are the Qt bindings. Various changes needed by the latest SIP. Re-introduced SLOT(). Changed the examples to use SLOT() where possible. Added QObject.disconnect(), QAccel.disconnectItem(), QMenuData.disconnectItem(), QMovie.disconnectResize(), QMovie.disconnectStatus(), QMovie.disconnectUpdate() and QApplication.clipboard(). Added the QClipboard and QSocketNotifier classes. QEvent is automatically converted to the correct sub-class. The Qt event loop now cooperates with Python threads. Tested with Qt v1.44, Python v1.5.2, egcs v1.1.2 and glibc v2.1. v0.8 29th May 1999 Hopefully fixed the SuSE configuration problems. Fixed the QPointArray ctor and QPointArray.setPoints() that took a list of points. Removed the section in the documentation referring to the inability to handle C++ references. Added lots of const keywords to suppress new warning messages from the compiler. Changed the handwritten code for mapped classes to follow the new NULL/None conventions, and for the introduction of sipParseArgs(). Added Drag-and-Drop support to kmyapp. Added Matt Gerassimoff's Qt examples. Added the QCursor global cursors. Added QPainter.boundingRect(), KApplication.addDropZone(), KApplication.removeDropZone, KApplication.setRootDropZone(). Added QDragEnterEvent, QDragLeaveEvent, QDragMoveEvent, QDragObject, QDragResponseEvent, QDropEvent, QDropSite, QHideEvent, QImageDrag, QPaintDeviceMetrics, QShowEvent, QStoredDrag, QTextDrag, QTimer, QUrlDrag, QWindow, KDNDDropZone, KDNDIcon, KDNDWidget, KPath, KSpell, KSpellConfig, KSpellDlg, KTreeList, KTreeListItem. Tested with Qt v1.44, KDE v1.1.1, Python v1.5.2, egcs v1.1.2 and glibc v2.1.1. v0.7.1 3rd May 1999 Fixed the detection of -fno-exceptions support. Added the necessary Py_DECREF(sipArgs) to all handwritten code. Tested with Qt v1.44, KDE v1.1.1, Python v1.5.2, egcs v1.1.2 and glibc v2.1. v0.7 16th April 1999 Build with -fno-exceptions if supported. Converted the documentation to SGML. Replaced QT_VERSION and KDE_VERSION with the proper Qt and KDE version constants. Fixed a bad bug converting from QStrings to Python strings. The "connect" convenience function has been removed. Added the class variables for all supported classes. Removed SLOT() from all examples. Renamed some static functions in QDate, QTime and QFile (needed because of the new implementation of static member functions). Added the ordinary functions related to supported classes. Added QListView, QListViewItem, QCheckListItem, KButton, KButtonBox, KContainerLayout, KContainerLayoutItem, KControlApplication, KControlDialog, KConfigWidget, KDatePicker, KDateTable, KDialog, KDirectionButton, KGradientSelector, KIntegerLine, KLed, KLedLamp, KListSpinBox, KNewPanner, KNumericSpinBox, KPanner, KPopupMenu, KQuickHelp, KQuickHelpWindow, KRestrictedLine, KRuler, KSelector, KSeparator, KSlider, KSpinBox, KTabBar, KTabButton, KTabCtl, KToolBoxManager, KWizard, KWizardPage, KXYSelector. Tested with Qt v1.44, KDE v1.1, Python v1.5.2, egcs v1.1.2 and glibc v2.1. v0.6 20th February 1999 Removed some handwritten code now that SIP automatically handles mapped classes and slots. Changed QString to be mapped to/from Python strings. Added the static member functions for all supported classes. Added new member functions for KDE v1.1. Added QBoxLayout, QButtonGroup, QChain, QCheckBox, QChildEvent, QDate, QDateTime, QDialog, QDir, QFileDialog, QFileIconProvider, QFileInfo, QFileInfoList, QGManager, QGroupBox, QGridLayout, QHBoxLayout, QHeader, QIconSet, QLayout, QMainWindow, QMessageBox, QMovie, QMultiLineEdit, QObjectList, QPrintDialog, QPrinter, QProgressBar, QProgressDialog, QRadioButton, QScrollView, QSemiModal, QSpinBox, QSplitter, QStatusBar, QTab, QTabBar, QTabDialog, QTime, QToolBar, QToolButton, QToolTip, QToolTipGroup, QVBoxLayout, QWhatsThis, QWidgetList, QWidgetStack. Added DlgLocation, KColorButton, KColorCombo, KColorDialog, KColorGroup, KDirDialog, KDirEntry, KEdit, KFM, KFileBaseDialog, KFileBookmark, KFileDialog, KFileInfo, KFileInfoContents, KFileInfoList, KFontDialog, KHTMLView, KIconLoaderButton, KIconLoaderDialog, KMsgBox, KPixmap, KProgress, KRadioGroup, KSimpleConfig, KURL. Tested with Qt v1.42, KDE v1.1, egcs v1.1.1 and glibc v2.1. v0.5 21st January 1999 The bindings are now packaged with autoconf configure scripts. The enum in QFrame is now unnamed as it is in Qt. All the examples changed to use the new form of enums. Added support for qApp, the global QColors, kapp, i18n(), Icon() and ICON(). Same test environment as v0.4. v0.4 9th January 1999 Enough Qt and KDE classes to implement the 14 Qt tutorials and KMyApp, but still not that many that implement user interface widgets. Tested with Qt v1.42, KDE v1.0 and gcc v2.8.1. v0.3 9th December 1998 Many more Qt classes, but still not many that implement user interface widgets. Those classes that are implemented are almost all fully implemented. Tested with Qt v1.42. v0.2 5th December 1999 Added the definitions of protected and virtual member functions. v0.1 1st November 1998 First release (with a very small set of classes implemented) to give people a flavour. Tested with Qt v1.41.