This document describes a set of Python bindings for the Qt widget set. Contact the author at <phil@riverbankcomputing.co.uk>.
PyQt is a set of Python bindings for the Qt toolkit and available for all platforms supported by Qt, including Windows, Linux, UNIX and embedded systems such as the Sharp Zaurus and the Compaq iPAQ. They have been tested against Qt versions 1.43 to 3.1.2, Qt Non-commercial, Qtopia 1.5.0, and Python versions 1.5 to 2.3b1.
PyQt is available under the GPL license for use with the GPL version of Qt, and a commercial license for use with the commercial version of Qt.
The bindings are implemented as a number of Python modules
qt is the main module and contains the core classes and most user interface widgets.
qtcanvas contains the classes implemented in Qt's Canvas module.
qtgl contains the classes implemented in Qt's OpenGL module.
qtnetwork contains the classes implemented in Qt's Network module.
qtpe contains the classes implemented in Qtopia (originally called the Qt Palmtop Environment). It is only supported with Qt/Embedded.
qtsql contains the classes implemented in Qt's SQL module.
qttable contains the classes implemented in Qt's Table module.
qtui contains the classes implemented in Qt's qui library. These allow GUIs to be created directly from Qt Designer's .ui files.
qtxml contains the classes implemented in Qt's XML module.
qtext contains useful third-party classes that are not part of Qt. At the moment it contains bindings for QScintilla, the port to Qt of the Scintilla programmer's editor class.
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 changes visible to the Python programmer in this release are as follows.
SIP 3.6 is required. Starting with SIP 3.1 the run-time support library is implemented as a Python module and so is installed in a different place to earlier versions. You should manually remove any versions of the SIP run-time support library and header files earlier than 3.1.
The qtui module contains the QWidgetFactory class. Using this it is possible to read an XML .ui file created with Qt Designer and create the GUI directly rather than using pyuic to first convert it to Python code. (Thanks to Hans-Peter Jansen.)
The QextScintillaAPIs, QextScintillaCommand, QextScintillaCommandSet, QextScintillaMacro and QextScintillaPrinter classes have been added to the qtext module.
The new classes and methods implement a high level API to Scintilla's call tips, auto-completion lists, printing, macro recording and playback, and key mapping.
The QCopEnvelope class has been added to the qtpe module.
pyuic for Qt v3 will now extract Python code (for example import statements for custom widgets) from the comments section of .ui files.
The biff.py, checklists.py and drawlines.py example scripts have been added (thanks to Oleksandr Yakovlyev).
Next | ||
Other PyQt Goodies |