Python Bindings for Qt (3.3.2)

Phil Thompson

This document describes a set of Python bindings for the Qt widget set. Contact the author at .


Introduction

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.0.5, Qt Non-commercial, Qtopia, and Python versions 1.5 to 2.2.1.

The bindings are implemented as a number of Python modules

PyQt also includes the pyuic PyQt code generator used as a backend for the Qt Designer GUI design tool.

Finally, PyQt also includes a debugger called eric.

Changes

The changes visible to the Python programmer in this release are as follows.

  • SIP 3.3.2 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 PyQt build system has been completely re-written and is now the same on all platforms. See the README file for details.

  • A port to Python of the Qt bigtable, lineedits, qmag, smalltable, tablestatistics and a number of SQL examples. (Thanks to Hans-Peter Jansen.)

  • pyuic for Qt v3.x is now able to extract Python code entered into Qt Designer. (Thanks to Christian Bird.)

  • Support for eric has been taken over by Detlev Offenbach. It has now been ported to Qt v3.x and has many new features added.

    • The GUI has been redesigned.

    • eric can now be used to debug interactive console applications.

    • The source code window highlighting the current line is always raised so that it is not obscured.

    • A programs variables are now displayed.

    • The full complement of stepping actions is now implemented, including step-over and step-out-of.

    • Conditional breakpoints have been implemented - try shift-left clicking and right clicking in the breakpoint column of a source code window.

  • The qt module now defines PYQT_BUILD as the PyQt build number as an integer.

  • The QSqlRecordInfo class is now implemented as a Python list of QSqlFieldInfo instances.

  • The following missing methods have been added: QDoubleValidator.setBottom(), QDoubleValidator.setDecimals(), QDoubleValidator.setTop(), QFontMetrics.boundingRect(), QFontMetrics.size(), QIntValidator.setBottom() and QIntValidator.setTop().