PyQt is a Python binding of the cross-platform GUI toolkit Qt. Applications built with PyQt 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 & PyQt, see the PyQt5 tutorial and my PyQt5 book Create Simple GUI Applications with Python & Qt.

Explore PyQt

Showing articles for All (276) PyQt6 (108) PySide6 (83) PyQt5 (235) Tkinter (77) PySide2 (81)


Password editing field, with Show/Hide toggle

Implementing QPainter flood fill in PyQt5/PySide

Filling irregular regions in a QPainter canvas

Packaging PyQt5 applications for Windows with PyInstaller & InstallForge updated

Turn your PyQt5 application into a distributable installer for Windows

Displaying tabular data in Qt5 ModelViews

Create customized table views with conditional formatting, numpy and pandas data sources.

Creating searchable widget dashboards

Make dashboard UIs easier to use with widget search & text prediction

Plotting with Matplotlib

Create PyQt5 plots with the popular Python plotting library

Laying Out Your PyQt5 GUIs With Qt Designer

Use Qt Designer to effortlessly build your application UI

Add scrollable regions with QScrollArea

Run out of space in your GUI? Add a scrollable region to your application

Plotting with PyQtGraph

Create custom plots in PyQt with PyQtGraph

Embedding custom widgets from Qt Designer

Learn how to use custom widgets in your PyQt5 applications when designing with Qt Designer

Goodforbitcoin, a Cryptocurrency market tracker

Track cryptocurrency market values and trade volumes


Explore the mysterious moon of Q'tee without getting too close to the alien natives!

Simple Sales Tax Calculator

Using Qt creator to create a simple GUI

PyQt5 vs PySide2

What's the difference between the two Python Qt libraries? ...and what's exactly the same (most of it)


Gradient designer with add, drag and edit stops


Visualize audio frequency changes

Creating custom GUI widgets in PyQt5

Build a completely functional custom widget from scratch using QPainter

QPainter and Bitmap Graphics

Introduction to the core features of QPainter

The ModelView Architecture

Qt's MVC-like interface for displaying data in views

MacOS Mojave Dark Mode Support in PyQt 5.12.2

Ensuring your apps follow the desktop style

PyQt5 Toolbars & Menus — QAction

Defining toolbars, menus and keyboard shortcuts with QAction

PyQt5 Dialogs and Alerts

Notify your users and ask for their input

PyQt5 Layouts

Use layouts to effortlessly position widgets within the window
1 2 3 4 5 6 7 8 9 10 11