PySide6 is a Python binding of the cross-platform GUI toolkit Qt. Applications built with PySide6 will run on any platform supported by Qt & Python including Windows, OS X, Linux, iOS and Android.

PySide is the official binding for Qt on Python and is now developed by The Qt Company itself.

For a complete guide to desktop application development with Python & PySide6, see the PySIde6 tutorial and PySide6 book Create Simple GUI Applications with Python & Qt.

Explore PySide6

PySide6

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

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

Animations and Transformations With QtQuick in PySide6

Build an animated analog clock widget using QML image transformations and spring animations

Transmitting Extra Data With Qt Signals in PySide6

Modifying widget signals to pass contextual information to slots

Embedding Custom Widgets from Qt Designer in PySide6

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

Creating Dialogs With Qt Designer and PySide6

Using the drag and drop editor to build PySide6 dialogs

Packaging PySide6 applications into a macOS app with PyInstaller

Turn your PySide6 application into a distributable macOS .app bundle and disk image

Packaging PySide6 applications for Windows with PyInstaller & InstallForge

Turn your PySide6 application into a distributable installer for Windows

QComboBox

Drop-down selection widget

Search a QTableWidget and Select Matching Items

Finding and selecting matching items in a QTableWidget using findItems

Multithreading PySide6 applications with QThreadPool

Run background tasks concurrently without impacting your UI

Creating Searchable Widget Dashboards in PySide6

Make dashboard UIs easier to use with widget search & text prediction

How can I enable editing on a QTableView in PySide6?

Modifying your model to allow editing of your data source

Using QThreadPool.start() with a Simple Function in PySide6

Run background tasks without creating a QRunnable by passing a callable directly to QThreadPool

Create a tree using threads

How to populate a QTreeView using QThreadPool and QRunnable without blocking the GUI

QTimer, threads, and non-gui events

How to coordinate timed events with sequential logic in PySide6

Animating Custom Widgets With QPropertyAnimation in PySide6

Add smooth animations and dynamic visual effects to your PySide6 custom widgets

Creating Custom GUI Widgets in PySide6

Build a completely functional custom widget from scratch using QPainter

Laying Out Your PySide6 GUIs With Qt Designer

Use Qt Designer to effortlessly build your application UI

Create Applications with QtQuick in PySide6

Build modern applications with declarative QML

QPainter and Bitmap Graphics in PySide6

Introduction to the core features of QPainter

PySide6 Toolbars & Menus — QAction

Defining toolbars, menus, and keyboard shortcuts with QAction

Matplotlib with QtQuick (QML)

How to display Matplotlib plots inside a QML application using PySide6
1 2 3 4