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

Build a Desktop Sticky Notes Application with PySide6 & SQLAlchemy

Create moveable desktop reminders with Python

PySide6 Signals, Slots & Events

Triggering actions in response to user behaviors and GUI events

Plotting With Matplotlib and PySide6

Create PySide6 plots with the popular Python plotting library

Plotting With Matplotlib and PyQt6

Create PyQt6 plots with the popular Python plotting library

Q&A: Are there any built-in QIcons?

Using built-in icons for your apps.

PyQt6 Signals, Slots & Events

Triggering actions in response to user behaviors and GUI events

PySide2 Signals, Slots & Events

Triggering actions in response to user behaviors and GUI events

PyQt5 Signals, Slots & Events

Triggering actions in response to user behaviors and GUI events

PySide2 Toolbars & Menus — QAction

Defining toolbars, menus and keyboard shortcuts with QAction

PySide6 Toolbars & Menus — QAction

Defining toolbars, menus, and keyboard shortcuts with QAction

PyQt6 Toolbars & Menus — QAction

Defining toolbars, menus, and keyboard shortcuts with QAction

PyQt5 Toolbars & Menus — QAction

Defining toolbars, menus and keyboard shortcuts with QAction

Multithreading PySide6 applications with QThreadPool

Run background tasks concurrently without impacting your UI

Which Python GUI library should you use?

Comparing the Python GUI libraries available in 2025

Getting Started With PyCharm for Python GUI Development

The Python-Specific Integrated Development Environment

Working With Python Virtual Environments

Setting Your Python Working Environment, the Right Way

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

What Are the Major Differences Between these Popular Python GUI Libraries

Getting Started With Git and GitHub in Your Python Projects

Version-Controlling Your Python Projects With Git and GitHub

Getting started with VS Code for Python

Setting up a Development Environment for Python programming

Install PyQt6 on Ubuntu Linux

Install PyQt6 on Ubuntu and other Debian-based Linux distributions

Install PySide2 on Ubuntu Linux

Install PySide2 on Ubuntu and other Debian-based Linux distributions

Install PySide6 on Ubuntu Linux

Install PySide6 on Ubuntu and other Debian-based Linux distributions

Install PyQt5 on Ubuntu Linux

Install PyQt5 on Ubuntu and other Debian-based Linux distributions

Build a Translation Application Using Tkinter and OpenAI

Use ChatGPT to Translate Your Text from Python

Create Applications with QtQuick in PySide2

Build modern applications with declarative QML

Create Applications with QtQuick in PySide6

Build modern applications with declarative QML

Multithreading PyQt6 applications with QThreadPool

Run background tasks concurrently without impacting your UI

Create Applications with QtQuick in PyQt6

Build modern applications with declarative QML

Create Applications with QtQuick in PyQt5

Build modern applications with declarative QML

Multithreading PySide2 applications with QThreadPool

Run background tasks concurrently without impacting your UI

7Pez, custom skinned Unzip

Skinning a PyQt5 decorationless window

Tabbed web browsing

Use signal redirection to add a multi-tab interface

Multithreading PyQt5 applications with QThreadPool

Run background tasks concurrently without impacting your UI

Creating Additional Windows in PySide6

Opening new windows for your application

Build a To-do App With Python and Kivy

Magange Your Todo Items With Ease

Getting Started with Streamlit

Build your first Streamlit app and explore some basic features

Building a Translation Application Using Tkinter

Translate Your Text With Python and Tkinter

Install PyQt5 on macOS

Install PyQt5 on macOS

Creating Additional Windows in PyQt6

Opening new windows for your application

PDF Report generator

Generate custom PDF reports using reportlab & pdfrw

Displaying Tabular Data in PyQt6 ModelViews

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

The ModelView Architecture in PySide6

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

The ModelView Architecture in PyQt6

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

Displaying Tabular Data in PySide6 ModelViews

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

The ModelView Architecture in PySide2

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

The ModelView Architecture in PyQt5

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

PyQt6 vs PySide6

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

PyQt vs PySide Licensing

Everything you need to know about LGPL and GPL for your PySide/PyQt applications

PyQt5 vs PySide2

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