PyQt is a set of Python bindings for Nokia's Qt application framework and runs on all platforms supported by Qt including Windows, MacOS/X and Linux. There are two sets of bindings: PyQt v4 supports Qt v4; and the older PyQt v3 supports Qt v3 and earlier. The bindings are implemented as a set of Python modules and contain over 300 classes and over 6,000 functions and methods.
Like Qt, PyQt v4 is available on all platforms under a variety of licenses including the GNU GPL (v2 and v3) and a commercial license. Unlike Qt, PyQt v4 is not available under the LGPL. You can purchase the commercial version of PyQt here.
PyQt does not include a copy of Qt. You must obtain a correctly licensed copy of Qt yourself. However, a binary Windows installer of the GPL version of PyQt v4 is provided and this includes a copy of the LGPL version of Qt.
PyQt4 contains the following Python modules.
The QtCore module contains the core non-GUI classes, including the event loop and Qt's signal and slot mechanism. It also includes platform independent abstractions for Unicode, threads, mapped files, shared memory, regular expressions, and user and application settings.
The QtGui module contains the majority of the GUI classes. These include a number of table, tree and list classes based on the model-view-controller design pattern. Also provided is a sophisticated 2D canvas widget capable of storing thousands of items including ordinary widgets.
The QtHelp module contains classes for creating and viewing searchable documentation and being able to integrate online help with PyQt applications. It is based on the C++ port of the Lucene text search engine.
The QtNetwork module contains classes for writing UDP and TCP clients and servers. It includes classes that implement FTP and HTTP clients and support DNS lookups. Network events are integrated with the event loop making it very easy to develop networked applications.
The QtOpenGL module contains classes that enable the use of OpenGL in rendering 3D graphics in PyQt applications.
The QtSql module contains classes that integrate with open-source and proprietary SQL databases. It includes editable data models for database tables that can be used with GUI classes. It also includes an implementation of SQLite.
The QtSvg module contains classes for displaying the contents of SVG files. It supports the static features of SVG 1.2 Tiny.
The QtTest module contains functions that enable unit testing of PyQt applications. PyQt does not implement the complete Qt unit test framework. Instead it assumes that the standard Python unit test framework will be used and implements those functions that simulate a user interacting with a GUI.
The QtXml module implements SAX and DOM interfaces to Qt's XML parser.
The QtXmlPatterns module implements XQuery and XPath support for XML and custom data models.
The phonon module implements a multimedia framework that enables the use of audio and video content in PyQt applications. On Windows DirectX is used as the backend, on MacOS/X QuickTime is used as the backend, and on Linux GStreamer is used as the backend.
The QtMultimedia module implements low-level multimedia functionality. Application developers would normally use the phonon module.
The QtAssistant module implements a simple interface for integrating Qt Assistant with PyQt applications to provide online help. Qt Assistant is itself implemented using QtHelp.
The QtDesigner module contains classes that allow Qt Designer to be extended using PyQt.
PyQt is a set of Python bindings for Nokia's Qt application framework and runs on all platforms supported by Qt including Windows, MacOS/X and Linux. There are two sets of bindings: PyQt v4 ... copy of the LGPL version of Qt. PyQt4 contains the following Python modules. The QtCore module ... slot mechanism. It also includes platform independent abstractions for Unicode, threads, mapped files, shared memory, regular expressions, .... Free download of PyQt4 for Mac OS X 5.4.1
... built-in editor, compiler, virtual machine, debugger specifically designed for introductory teaching. The aim of BlueJ is to provide an easy-to-use teaching environment for the Java language that facilitates the teaching of ... virtual machine, debugger, etc. · Easy-to-use interface, ideal for beginners · Interactive object creation · Interactive object .... Free download of BlueJ for Linux 3.1.6
Agena for Linux is an easy-to-learn procedural programming language suited for everyday usage. It has been implemented as an interpreter and can be used in scientific, educational, linguistic, and many other .... Free download of Agena for Linux 2.9.8
... is small and easy to use graphical tool for merging and comparing text files. Diffuse is able ... Darcs, Git, Mercurial, Monotone, Subversion, and SVK repositories for comparison and merging. FEATURES: · ability ... Mercurial, Monotone, Subversion, and SVK support · support for UTF-8 encoded unicode · unlimited undo · easy .... Free download of Diffuse for Linux 0.4.8
A debugger hardware interface for a range of Freescale microcontrollers. Free download of USBDM 220.127.116.11
Visual Studio extension that seamlessly integrates GCC, GDB and GNU Make. Free download of VisualGDB 5.0 R3
A cross-platform integrated development environment. Free download of Qt Creator 4.2.1
A graphical frontend to manage BibTeX databases. Free download of JabRef 3.5