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

PyQt6 & PySide6 Books updated for 2024 updated

Extended and updated with new examples, demos including Model View Controller architecture

How to Restore the Window's Geometry in a PyQt5 App

Make Your Windows Remember Their Last Geometry

How to Create a Custom Title Bar for a PyQt5 Window

Customize Your Python App's Title Bars

Install Qt Designer Standalone

Qt Designer Download for Windows, Mac and Linux

PyQt6, PySide6, PyQt5 and PySide2 Books -- updated for 2022!

New editions extended and updated, now 780+ pages

PyQt5 vs PyQt6

What are the differences, and is it time to upgrade?

Drag & Drop Widgets with PyQt5

Sort widgets visually with drag and drop in a container

Simple threading in PyQt/PySide apps with .start() of QThreadPool

How to move Python functions/methods & PyQt/PySide slots onto separate threads

Introduction to the QGraphics framework

Creating vector interfaces using the QGraphics View framework

Editing QTableView cells

Allowing users to update the data in a model view

Create applications with QtQuick

Build modern applications with declarative QML

How to get the PyQt version number?

Find out which version of PyQt or PySide you're running

PDF Report generator

Generate custom PDF reports using reportlab & pdfrw

Toggle & AnimatedToggle

Toggle switch Widget QCheckBox replacement

Animating custom widgets with QPropertyAnimation

Add dynamic visual effects to your custom widgets

Opening links in a new window with QWebEngineView

Redirect links to a separate floating browser window

Real Time Change of Widgets?

How to update the UI while in a loop

The QResource System

Using the QResource system to package additional data with your applications

Using QProcess to run external programs

Run background programs without impacting your UI
1 2 3 4