Python Bindings for Qt (v2.3)

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. The bindings are implemented as a single Python module qt. They have been tested against Qt versions 1.42 to 2.2.4 and Python versions 1.5 to 2.0.

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.

  • The following classes have been added: QCustomMenuItem.

  • The following methods have been added: QSlider.minValue(), QSlider.maxValue(), QSlider.setMinValue(), QSlider.setMaxValue(), QSlider.lineStep(), QSlider.pageStep(), QSlider.setLineStep(), QSlider.setPageStep(), QSlider.value(), QMessage.setTextFormat(), QMessage.textFormat(), QPushButton.isFlat(), QPushButton.setFlat() and missing versions of QMenuData.insertItem().

  • Python objects that correspond to C++ instances that are "owned" by Qt (ie. Qt will call the instance's dtor itself) are now kept alive without the Python program having to keep an explicit reference.

  • The deprecated behaviour of repr() of a QByteArray, QCString or QString has been removed.

  • pyuic now assumes that custom widgets are defined in another module and generates code to import them.

  • The addressbook.py, buttongroups.py and menu.py examples have been added. All of the tutorial scripts have been updated to match those in Qt v2.x.

  • The documentation has been updated describing how multiple inheritance of Qt classes isn't possible.