PyQt5 is a Python binding of the cross-platform GUI toolkit Qt. Applications built with PyQt5 will run on any platform supported by Qt & Python including Windows, OS X, Linux, iOS and Android.

Created by Riverbank Computing, PyQt is free software (GPL licensed) and has been in development since 1999. PyQt5 was released in 2016 and last updated in October 2021.

For a complete guide to desktop application development with Python & PyQt5, see the PyQt5 tutorial and PyQt5 book Create Simple GUI Applications with Python & Qt.

Explore PyQt5

PyQt5

Animations and Transformations With QtQuick in PyQt5

Building an animated analog clock in QML with image rotations and spring animations

Avoid gray background for selected icons

Create a custom ToggleButton widget to replace QAction checkable icons without the default gray selection background

Displaying NumPy Arrays and Pandas Data in QTableView Cells

How to handle complex data like NumPy arrays and Pandas Series inside a QAbstractTableModel

How to Show Only Icons in QTableView Cells (Hide Text)

Use custom model roles to display icons without text in your PyQt5 tables

Packaging PyQt5 applications into a macOS app with PyInstaller

Turn your PyQt5 application into a distributable macOS .app bundle

Delay in signal from thread

Published 08.04.2021

Create Applications with QtQuick in PyQt5

Build modern applications with declarative QML

QSettings Usage

Published 05.04.2021

Drag & Drop TreeView Nodes to Reorder Items with a Custom Tree Model in PyQt5

Implement drag and drop reordering in QTreeView using a custom QAbstractItemModel

How to debug: QAbstractTableModel subclass does not call flags()

Understanding why flags() isn't called when using QDataWidgetMapper with standard widgets

How to Drag & Drop SVG Elements into a QGraphicsScene

Dragging and dropping SVG elements into a QGraphicsScene using QGraphicsSvgItem
1 2 3 4 5 6 7 8 9 10