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

Embedding Custom Widgets from Qt Designer in PyQt6

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

Which Python GUI library should you use?

Comparing the Python GUI libraries available in 2025

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

Plotting With PyQtGraph and PyQt6

Create Custom Plots in PyQt6 With PyQtGraph

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

Plotting With PyQtGraph and PyQt5

Create Custom Plots in PyQt with PyQtGraph

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

Plotting With Matplotlib and PySide6

Create PySide6 plots with the popular Python plotting library

Plotting With PyQtGraph and PySide6

Create custom plots in PySide6 with PyQtGraph

Packaging PyQt6 applications into a macOS app with PyInstaller

Turn your PyQt6 application into a distributable app

Install Qt Designer Standalone

Qt Designer Download for Windows, Mac and Linux

Packaging PySide6 applications into a macOS app with PyInstaller

Turn your PySide6 application into a distributable app

Packaging PyQt5 applications for Linux with PyInstaller & fpm

Turn your PyQt5 application into installable Linux packages

Displaying Tabular Data in PySide6 ModelViews

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

Packaging PySide6 applications for Windows with PyInstaller & InstallForge

Turn your PySide6 application into a distributable installer for Windows

Packaging Tkinter applications for Windows with PyInstaller & InstallForge

Turn your Tkinter application into a distributable installer for Windows

The ModelView Architecture in PySide6

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

Packaging PyQt5 applications into a macOS app with PyInstaller

Turn your PyQt5 application into a distributable app

Packaging PyQt5 applications for Windows with PyInstaller & InstallForge

Turn your PyQt5 application into a distributable installer for Windows

PySide6 Signals, Slots & Events

Triggering actions in response to user behaviors and GUI events

PySide6 Layouts

Use layouts to effortlessly position widgets within the window

Drag & Drop Widgets with PySide2

Sort widgets visually with drag and drop in a container

Drag & Drop Widgets with PyQt5

Sort widgets visually with drag and drop in a container

PySide6 Dialogs and Alerts

Notify your users and ask for their input

The QResource System in PySide6

Using the QResource system to package additional data with your applications

PyQt6 Signals, Slots & Events

Triggering actions in response to user behaviors and GUI events