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

Plotting With PyQtGraph and PyQt6

Create Custom Plots in PyQt6 With PyQtGraph

Plotting With PyQtGraph and PyQt5

Create Custom Plots in PyQt with PyQtGraph

PySide2 Widgets

Using QPushButton, QCheckBox, QComboBox, QLabel and QSlider widgets

PyQt5 Widgets

Using QPushButton, QCheckBox, QComboBox, QLabel and QSlider widgets

PySide6 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

Multithreading PyQt5 applications with QThreadPool

Run background tasks concurrently without impacting your UI

QPainter and Bitmap Graphics in PySide2

Introduction to the core features of QPainter

Multithreading PyQt6 applications with QThreadPool

Run background tasks concurrently without impacting your UI

What does @pyqtSlot() do?

Is the pyqtSlot decorator even necessary?

Plotting With PyQtGraph and PySide2

Create custom plots in PySide with PyQtGraph

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 PyQt5 Version Number?

Find out which version of PyQt5 you're running

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

Using QResource to Package Data Files With PyInstaller and PySide2

Serialize data files for easy packaging in Python

Laying Out Your PyQt6 GUIs With Qt Designer

Use Qt Designer to effortlessly build your application UI

Laying Out Your PySide2 GUIs With Qt Designer

Use Qt Designer to effortlessly build your application UI

Laying Out Your PyQt5 GUIs With Qt Designer

Use Qt Designer to effortlessly build your application UI

Building a Translation Application Using Tkinter

Translate Your Text With Python and Tkinter

Introduction to the QGraphics Framework in PySide6

Creating vector interfaces using the QGraphics View framework

Build a Translation Application Using Tkinter and OpenAI

Use ChatGPT to Translate Your Text from Python

Introduction to the QGraphics Framework in PyQt6

Creating vector interfaces using the QGraphics View framework

Q&A: How Do I Display Images in PySide6?

Using QLabel to easily add images to your applications

Drag & Drop Widgets with PySide6

Sort widgets visually with drag and drop in a container

Q&A: How Do I Display Images in PyQt6?

Using QLabel to easily add images to your applications

Drag & Drop Widgets with PyQt6

Sort widgets visually with drag and drop in a container

QLineEdit

A Simple Text Input Widget

How to Create a Custom Title Bar for a PyQt6 Window

Customize Your Python App's Title Bars

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

Make Your Windows Remember Their Last Geometry

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

Make Your Windows Remember Their Last Geometry

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

How to Create a Custom Title Bar for a PyQt5 Window

Customize Your Python App's Title Bars

QCheckBox

Toggleable checkable widget

QPushButton

Add clickable buttons to your Python UI

Getting started with VS Code for Python

Setting up a Development Environment for Python programming

Plotting With Matplotlib and PyQt6

Create PyQt6 plots with the popular Python plotting library