spacer
spacer
[Login]

What is PyQt?

PyQt is a set of Python v2 and v3 bindings for Digia's Qt application framework and runs on all platforms supported by Qt including Windows, MacOS/X and Linux. PyQt5 supports Qt v5. PyQt4 supports Qt v4 and will build against Qt v5. The bindings are implemented as a set of Python modules and contain over 620 classes.

Digia have announced that support for Qt v4 will cease at the end of 2015. PyQt5 and Qt v5 are strongly recommended for all new development.

PyQt is dual licensed on all supported platforms under the GNU GPL v3 and the Riverbank Commercial License. Unlike Qt, PyQt is not available under the LGPL. You can purchase the commercial version of PyQt here. More information about licensing can be found in the License FAQ.

PyQt does not include a copy of Qt. You must obtain a correctly licensed copy of Qt yourself. However, a binary Windows installers of the GPL version of both PyQt5 and PyQt4 are provided and this includes a copy of the LGPL version of Qt.

PyQt Components

A description of the components of PyQt5 can be found in the PyQt5 Reference Guide.

A description of the components of PyQt4 can be found in the PyQt4 Reference Guide.

Why PyQt?

PyQt brings together the Qt C++ cross-platform application framework and the cross-platform interpreted language Python.

Qt is more than a GUI toolkit. It includes abstractions of network sockets, threads, Unicode, regular expressions, SQL databases, SVG, OpenGL, XML, a fully functional web browser, a help system, a multimedia framework, as well as a rich collection of GUI widgets.

Qt classes employ a signal/slot mechanism for communicating between objects that is type safe but loosely coupled making it easy to create re-usable software components.

Qt also includes Qt Designer, a graphical user interface designer. PyQt is able to generate Python code from Qt Designer. It is also possible to add new GUI controls written in Python to Qt Designer.

Python is a simple but powerful object-orientated language. Its simplicity makes it easy to learn, but its power means that large and complex applications can be created. Its interpreted nature means that Python programmers are very productive because there is no edit/compile/link/run development cycle.

Much of Python's power comes from its comprehensive set of extension modules providing a wide variety of functions including HTTP servers, XML parsers, database access, data compression tools and, of course, graphical user interfaces. Extension modules are usually implemented in either Python, C or C++. Using tools such as SIP it is relatively straight forward to create an extension module that encapsulates an existing C or C++ library. Used in this way, Python can then become the glue to create new applications from established libraries.

PyQt combines all the advantages of Qt and Python. A programmer has all the power of Qt, but is able to exploit it with the simplicity of Python.

For more details, including some simple programming examples, you can download a copy of the PyQt Whitepaper.

spacer

Recent news


PyQt v5.4.2 Released

PyQt v4.11.4

SIP v4.16.8 Release

pyqtdeploy v1.0.1 Released

QScintilla v2.9 Released


Downloads


PyQt4

PyQt5

QScintilla2

SIP

dip

pyqtdeploy


Documentation


PyQt4 Reference Guide

PyQt5 Reference Guide

QScintilla Reference Guide

SIP Reference Guide

dip Documentation

pyqtdeploy Documentation


Contact Riverbank at info@riverbankcomputing.com
Riverbank Computing Limited is a company registered in England and Wales with company number 4314904
Registered office: Redcotts House, 1 Redcotts Lane, Wimborne, Dorset BH21 1JX, UK
VAT number: GB 833 2469 29
Copyright © 2015 Riverbank Computing Limited

gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.