Changelog

We're regularly updating the site with new tutorials, updates and corrections with the support of the Python community.

Found something wrong? Send Feedback & Corrections

Adding application Help and About dialogs

Put some finishing touches to your application

How to Get the PyQt5 Version Number?

Find out which version of PyQt5 you're running

Plotting With PyQtGraph and PySide6

Create custom plots in PySide6 with PyQtGraph

Create Applications with QtQuick in PySide2

Build modern applications with declarative QML

Create Applications with QtQuick in PySide6

Build modern applications with declarative QML

Create Applications with QtQuick in PyQt6

Build modern applications with declarative QML

Multithreading PyQt6 applications with QThreadPool

Run background tasks concurrently without impacting your UI

Multithreading PySide6 applications with QThreadPool

Run background tasks concurrently without impacting your UI

Multithreading PySide2 applications with QThreadPool

Run background tasks concurrently without impacting your UI

Multithreading PyQt5 applications with QThreadPool

Run background tasks concurrently without impacting your UI

First Steps With Qt Designer and PySide6

Use Qt Designer's drag and drop interface to design your GUI

Plotting With PyQtGraph and PyQt6

Create Custom Plots in PyQt6 With PyQtGraph

Plotting With PyQtGraph and PyQt5

Create Custom Plots in PyQt with PyQtGraph

Plotting With PyQtGraph and PySide2

Create custom plots in PySide with PyQtGraph

PySide6 Widgets

Using QPushButton, QCheckBox, QComboBox, QLabel, and QSlider widgets

Plotting With Matplotlib and PySide6

Create PySide6 plots with the popular Python plotting library

Plotting With Matplotlib and PySide2

Create PySide2 plots with the popular Python plotting library

Plotting With Matplotlib and PyQt5

Create PyQt5 plots with the popular Python plotting library

PySide6 Dialogs and Alerts

Notify your users and ask for their input

PySide2 Dialogs and Alerts

Notify your users and ask for their input

PyQt5 Dialogs and Alerts

Notify your users and ask for their input

Creating Additional Windows in PySide6

Opening new windows for your application

PyQt6 Dialogs and Alerts

Notify your users and ask for their input

Building a Currency Converter Application using Tkinter

Convert between currencies with ease

QPainter and Bitmap Graphics in PySide6

Introduction to the core features of QPainter

Plotting With Matplotlib and PyQt6

Create PyQt6 plots with the popular Python plotting library

Install PySide6 on macOS

Install PySide6 on macOS

How to Create a Custom Title Bar for a PyQt5 Window

Customize Your Python App's Title Bars

How to Create a Custom Title Bar for a PyQt6 Window

Customize Your Python App's Title Bars

PyQt6 Book now available: Create GUI Applications with Python & Qt6

The hands-on guide to making apps with Python

PySide2 Widgets

Using QPushButton, QCheckBox, QComboBox, QLabel and QSlider widgets

PyQt5 Widgets

Using QPushButton, QCheckBox, QComboBox, QLabel and QSlider widgets

Embedding Custom Widgets from Qt Designer in PySide6

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

Embedding Custom Widgets from Qt Designer in PyQt6

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

Embedding Custom Widgets from Qt Designer in PySide2

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

Embedding Custom Widgets from Qt Designer in PyQt5

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

QPainter and Bitmap Graphics in PySide2

Introduction to the core features of QPainter

What does @pyqtSlot() do?

Is the pyqtSlot decorator even necessary?

Install PySide2 on Ubuntu Linux

Install PySide2 on Ubuntu and other Debian-based Linux distributions

Creating Dialogs With Qt Designer and PyQt5

Using the drag and drop editor to build PyQt5 dialogs

Displaying Tabular Data in PyQt5 ModelViews

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

How to Get the PyQt6 Version Number?

Find out which version of PyQt6 you're running

How to Get the PySide2 Version Number?

Find out which version of PySide2 you're running

7Pez, custom skinned Unzip

Skinning a PyQt5 decorationless window

How to Get the PySide6 Version Number?

Find out which version of PySide6 you're running

Which Python GUI library should you use?

Comparing the Python GUI libraries available in 2026

Build a To-do App With Python and Kivy

Manage Your Todo Items With Ease

Using QResource to Package Data Files With PyInstaller and PySide6

Serialize data files for easy packaging in Python

Laying Out Your PySide6 GUIs With Qt Designer

Use Qt Designer to effortlessly build your application UI

Using QResource to Package Data Files With PyInstaller and PyQt5

Serialize data files for easy packaging in Python