Differences between revisions 54 and 105 (spanning 51 versions)
Revision 54 as of 2008-11-15 14:00:41
Size: 4709
Editor: localhost
Comment: converted to 1.6 markup
Revision 105 as of 2021-08-18 06:00:52
Size: 5813
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
PyQt is one of the most popular Python bindings for the Qt cross-platform C++ framework. PyQt was developed by [[http://www.riverbankcomputing.com|Riverbank Computing Limited]]. Qt itself is developed as part of the [[http://qt.io|Qt Project]]. PyQt provides bindings for Qt 4 and Qt 5. PyQt is distributed under a [[PyQt/PyQtLicensing|choice of licences]]: GPL version 3 or a commercial license.
Line 3: Line 4:
PyQt is a comprehensive set of Python bindings for the Qt cross-platform GUI/XML/SQL C++ framework from Qt Software (renamed from Trolltech). PyQt provides bindings for Qt 2 and Qt 3. PyQt4, a separate set of bindings, covers the Qt 4 series of releases. PyQt is available in two editions: !PyQt4 which will build against Qt 4.x and 5.x and !PyQt5 which will only build against 5.x. Both editions can be built for Python 2 and 3. PyQt contains over 620 classes that cover graphical user interfaces, XML handling, network communication, SQL databases, Web browsing and other technologies available in Qt.

The latest iteration of PyQt is v5.11.3. It fully supports Qt 5.11.2.

!PyQt4 runs on Windows, Linux, Mac OS X and various UNIX platforms. !PyQt5 also runs on Android and iOS.

== PyQt Documentation ==
Current documentation is available for [[http://pyqt.sourceforge.net/Docs/PyQt4/|PyQt4]] and [[http://pyqt.sourceforge.net/Docs/PyQt5/|PyQt5]].

A collection of links to books can be found on the [[PyQt/Books|Books]] page.

 * Michael Herrmann's '''[[https://build-system.fman.io/pyqt5-book|PyQt5 book]]''' quickly shows how to create desktop applications. It includes a foreword by Phil Thompson, the creator of PyQt.
 * '''[[https://www.learnpyqt.com/pyqt5-book|Create GUI Applications with Python & Qt]]''' by Martin Fitzpatrick, covers beginner and advanced !PyQt5 topics. Includes chapters on multithreading, Model Views & databases, Qt stylesheets and data visualization.
 * '''[[https://www.apress.com/gp/book/9781484258569|Beginning PyQt: A Hands-on Approach to GUI Programming]]''' by Joshua Willman, takes a practical approach to building !PyQt5 GUI applications and covers a variety of different GUI-related topics.

== Tutorials ==

A comprehensive list of tutorials can also be found on the [[PyQt/Tutorials|Tutorials]] page, which includes !PyQt5 tutorials from the following sites:

 * [[https://build-system.fman.io/pyqt5-tutorial|fman build system]]
 * [[https://coderslegacy.com/python/pyqt5-tutorial/|Coders Legacy]]
 * [[https://www.learnpyqt.com|Learn PyQt]]

On this Wiki, you can also find the following tutorials, now mostly of historical interest only:

 * A tutorial presented by Jonathan Gardner at the 2003 Northwest Linux Fest is available at JonathanGardnerPyQtTutorial.
 * A tutorial presented by Oleksandr Yakovlyev for embedding PyQt in C++/Qt application EmbedingPyQtTutorial

== Developing with PyQt and PyKDE ==
 * [[PyQt/Tutorials|Tutorials]] contains a list of tutorials and walkthroughs
 * [[PyQt/Books|Books]] contains a list of books about Qt, PyQt, KDE and PyKDE
 * [[PyQt/DevelopmentWithPyQt|Development With PyQt]] can be made even easier with some extra tools and information
 * [[PyQt/SampleCode|Sample Code]] lists some pieces of code to solve some common programming problems
 * [[PyQt/Overviews_and_Guides|Overviews and Guides]] provides in-depth information and detailed examples
 * [[PyQt/DocsAndHowtos|Docs And Howtos]] contains links to API documentation and articles about developing with PyQt and PyKDE
 * [[PyQt/SomeExistingApplications|Some Existing Applications]] written with !PyQt and PyKDE
 * [[PyQt/Third_Party_Packages_and_Modules|Third Party Packages and Modules]] for use with !PyQt and PyKDE
 * [[PyQt/GUI_Testing|GUI Testing]]
 * [[PyQt/PyQtVideos|Videos]] about !PyQt on various video sites

== PyQt Applications ==
A list of applications that use !PyQt as their UI layer can be found on the [[PyQt/SomeExistingApplications|Some Existing Applications]] page. This replaces the list previously found here.

Similarly, the [[PyQt/Third_Party_Packages_and_Modules|Third Party Packages and Modules]] page provides a list of resources that can be used to help build applications with certain features.

A collection of [[PyQt/SampleCode|Sample Code]] is also available to help with specific problems and use cases.

== Links to other resources ==
The [[https://www.riverbankcomputing.com/mailman/listinfo/pyqt|official mailing list]] is a high signal-to-noise discussion list for !PyQt users and developers.

Phil Thompson was [[http://web.archive.org/web/20070208043017/http://dot.kde.org/1155075248/|interviewed about PyQt]] for [[http://dot.kde.org|KDE Dot News]] in August 2006, and [[http://web.archive.org/web/20010201180600/http://www.sunworld.com/sunworldonline/swol-05-2000/swol-05-regex_2.html|profiled]] for ''!SunWorld Online'' in 2000.

== Earlier Versions ==
'''This section describes PyQt version 3 (for Qt 3).'''
Line 6: Line 60:
Line 8: Line 63:
Line 9: Line 65:
Line 14: Line 71:
Earlier versions of PyQt included a graphical debugger called {{{eric}}}, written using PyQt, which can be used to debug PyQt and ordinary Python console applications. It's now available separately as {{{eric3}}} from http://www.die-offenbachs.de/eric/index.html. Earlier versions of PyQt included a graphical debugger called {{{eric}}}, written using PyQt, which can be used to debug PyQt and ordinary Python console applications. It's now available separately as {{{eric4}}} from http://eric-ide.python-projects.org/index.html.
Line 18: Line 75:
PyQt is available for Windows, UNIX/Linux, Mac OS X and the Sharp Zaurus.

== PyQt4 ==

PyQt4 is a set of Python bindings for [[http://www.trolltech.com/products/qt|Qt 4]] that exposes much of the functionality of Qt 4 to Python. This version of PyQt is described in more detail on the PyQt4 page.

== PyQt documentation ==

Current documentation is available at [[http://www.riverbankcomputing.com/static/Docs/PyQt4/pyqt4ref.html]].

Mark Summerfield's book, '''Rapid GUI Programming with Python and Qt''', is an up-to-date guide to GUI application development with Python 2.5, PyQt4 and Qt 4.2/4.3. More information can be found at http://www.qtrac.eu/pyqtbook.html.

Boudewijn Rempt's book, '''GUI Programming with Python: Qt Edition''', is available at http://www.commandprompt.com/community/pyqt/.

'''The PyQt4 tutorial''' available at http://zetcode.com/tutorials/pyqt4/

A tutorial presented by Jonathan Gardner at the 2003 Northwest Linux Fest is available at [[JonathanGardnerPyQtTutorial]].

A tutorial presented by Oleksandr Yakovlyev for embedding PyQt in C++/Qt application [[EmbedingPyQtTutorial]]

== PyQt applications ==

Some applications that use PyQt as their UI layer:
  * Camelot - A friendly GUI library on top of SQLAlchemy,Elixir, inspired by the Django admin interface. [[http://www.conceptive.be/projects/camelot]]
  * Convert``All - a versatile unit converter [[http://www.bellz.org/convertall/]].
  * Eric IDE - an integrated development environment for python [[http://www.die-offenbachs.de/eric/index.html]]
  * Fly``Way - a route planner for pilots [[http://www.bellz.org/flyway/]].
  * imgSeek - Photo collection manager with content-based search and many other features [[http://imgseek.sourceforge.net/]].
  * Incubus Data Modeler - Free (GPL) data modeler CASE tool [[http://incubus.sf.net]]
  * Kodos - Python Regular Expressions Debugger [[http://kodos.sourceforge.net/]].
  * Orange - data mining by visual programming [[http://www.ailab.si/orange]]
  * Paythyme - a UK statutory payroll [[http://www.paythyme.org.uk]]
  * PyPI Browser - a PyQt4-based GUI browser for the Python Package Index [[http://www.boddie.org.uk/david/Projects/Python/PyPI-Browser/]]
  * Q4Banking - a Qt4 port of the QBanking frontend from the AqBanking Library [[http://www.apaku.de/linux/q4banking/index.php]]
  * rpCalc - a reverse polish notation calculator [[http://rpcalc.bellz.org/]].
  * Schevo - a data management system [[http://schevo.org]]
  * Tree``Line - a tree-structured PIM [[http://treeline.bellz.org/]].
  * XPathEvaluator - a PyQt4-based tool that helps you "write" XPath expressions [[http://www.apaku.de/linux/xpathevaluator/index.php]]
  * Anki - A PyQt4-based program designed to help you remember facts (such as words and phrases in a foreign language) as easily, quickly and efficiently as possible. [[http://repose.cx/anki]]

A more up to date list of applications can be found on the [[http://www.diotavelli.net/PyQtWiki/SomeExistingApplications|PyQt Wiki]].

== Links to other resources ==

A Wiki dedicated to PyQt and [[PyKDE]] can be found at [[http://www.diotavelli.net/PyQtWiki|The PyQt and PyKDE community Wiki]].

Phil Thompson was [[http://dot.kde.org/1155075248/|interviewed about PyQt]] for [[http://dot.kde.org|KDE Dot News]] in August 2006.

About PyQt

PyQt is one of the most popular Python bindings for the Qt cross-platform C++ framework. PyQt was developed by Riverbank Computing Limited. Qt itself is developed as part of the Qt Project. PyQt provides bindings for Qt 4 and Qt 5. PyQt is distributed under a choice of licences: GPL version 3 or a commercial license.

PyQt is available in two editions: PyQt4 which will build against Qt 4.x and 5.x and PyQt5 which will only build against 5.x. Both editions can be built for Python 2 and 3. PyQt contains over 620 classes that cover graphical user interfaces, XML handling, network communication, SQL databases, Web browsing and other technologies available in Qt.

The latest iteration of PyQt is v5.11.3. It fully supports Qt 5.11.2.

PyQt4 runs on Windows, Linux, Mac OS X and various UNIX platforms. PyQt5 also runs on Android and iOS.

PyQt Documentation

Current documentation is available for PyQt4 and PyQt5.

A collection of links to books can be found on the Books page.

  • Michael Herrmann's PyQt5 book quickly shows how to create desktop applications. It includes a foreword by Phil Thompson, the creator of PyQt.

  • Create GUI Applications with Python & Qt by Martin Fitzpatrick, covers beginner and advanced PyQt5 topics. Includes chapters on multithreading, Model Views & databases, Qt stylesheets and data visualization.

  • Beginning PyQt: A Hands-on Approach to GUI Programming by Joshua Willman, takes a practical approach to building PyQt5 GUI applications and covers a variety of different GUI-related topics.

Tutorials

A comprehensive list of tutorials can also be found on the Tutorials page, which includes PyQt5 tutorials from the following sites:

On this Wiki, you can also find the following tutorials, now mostly of historical interest only:

Developing with PyQt and PyKDE

PyQt Applications

A list of applications that use PyQt as their UI layer can be found on the Some Existing Applications page. This replaces the list previously found here.

Similarly, the Third Party Packages and Modules page provides a list of resources that can be used to help build applications with certain features.

A collection of Sample Code is also available to help with specific problems and use cases.

The official mailing list is a high signal-to-noise discussion list for PyQt users and developers.

Phil Thompson was interviewed about PyQt for KDE Dot News in August 2006, and profiled for SunWorld Online in 2000.

Earlier Versions

This section describes PyQt version 3 (for Qt 3).

PyQt implements around 300 classes and over 5,750 functions and methods including:

  • a substantial set of GUI widgets
  • classes for accessing SQL databases (ODBC, MySQL, PostgreSQL, Oracle)

  • QScintilla, Scintilla-based rich text editor widget

  • data aware widgets that are automatically populated from a database
  • an XML parser
  • SVG support
  • classes for embedding ActiveX controls on Windows (only in commercial version)

Earlier versions of PyQt included a graphical debugger called eric, written using PyQt, which can be used to debug PyQt and ordinary Python console applications. It's now available separately as eric4 from http://eric-ide.python-projects.org/index.html.

PyQt includes pyuic which generates Python code from GUI designs created with Qt Designer. This makes PyQt very useful as a rapid prototyping tool for applications that will eventually be (partly or completely) implemented in C++ because the user interface designs can be re-used without modification.


CategoryPyGUI

PyQt (last edited 2021-08-18 06:00:52 by WillmanJoshua)

Unable to edit the page? See the FrontPage for instructions.