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 (282) PyQt6 (114) PySide6 (88) PyQt5 (240) Tkinter (82) PySide2 (86)

PyQt6 Book now available in Korean: 파이썬과 Qt6로 GUI 애플리케이션 만들기

The hands-on guide to creating GUI applications with Python gets a new translation

PyQt vs. Tkinter — Which Should You Choose for Your Next GUI Project?

What Are the Major Differences Between these Popular Python GUI Libraries

Can You Charge for Open-Source Software?

Making Money from Open-Source Projects

QCheckBox

Toggleable checkable widget

QPushButton

Add clickable buttons to your Python UI

Plotting with PyQtGraph

Create custom plots in PyQt6 with PyQtGraph

Which Python GUI library should you use?

Comparing the Python GUI libraries available in 2023

Understanding the GPL and "Copyleft"

When Are Two Open Source Software Licenses Incompatible?

The Basics of Software Copyrights

Why Do You Need to Bother With Licensing at All?

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 PyQt

Sort widgets visually with drag and drop in a container

Packaging PyQt6 applications for Windows with PyInstaller & InstallForge updated

Turn your PyQt6 application into a distributable installer for Windows

Animating custom widgets with QPropertyAnimation

Add dynamic visual effects to your custom widgets

Using QProcess to run external programs

Run background programs without impacting your UI

Add scrollable regions with QScrollArea

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

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

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

Using QProcess to run external programs

Run background programs without impacting your UI

QComboBox

Drop-down selection widget

Q&A: How to fix widgets appearing as separate windows?

Understanding Qt parents and layouts and the effect on widget position

Embedding custom widgets from Qt Designer

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

Creating Dialogs With Qt Designer

Using the drag and drop editor to build PyQt6 dialogs

Introduction to the QGraphics framework

Creating vector interfaces using the QGraphics View framework

Introduction to the QGraphics framework

Creating vector interfaces using the QGraphics View framework
1 2 3 4 5 6 7 8 9 10 11 12