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

Created by Riverbank Computing, PyQt is free software (GPL licensed) and has been in development since 1999. The latest version PyQt6 was released in 2021 and the library continues to be updated.

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

Explore PyQt6

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

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

Using QProcess to run external programs

Run background programs without impacting your UI

QComboBox

Drop-down selection widget

Embedding custom widgets from Qt Designer

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

Creating Dialogs With Qt Designer

Using the drag and drop editor to build PyQt6 dialogs

Creating additional windows

Opening new windows for your application

Creating custom GUI widgets in PyQt6

Build a completely functional custom widget from scratch using QPainter

QPainter and Bitmap Graphics

Introduction to the core features of QPainter

The ModelView Architecture

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

Transmitting extra data with Qt Signals

Modifying widget signals to pass contextual information to slots

PyQt6 Toolbars & Menus — QAction

Defining toolbars, menus and keyboard shortcuts with QAction

PyQt6 Dialogs and Alerts

Notify your users and ask for their input

PyQt6 Layouts

Use layouts to effortlessly position widgets within the window

PyQt6 Signals, Slots & Events

Triggering actions in response to user behaviors and GUI events

Creating your first app with PyQt6

A simple Hello World! application with Python and Qt6

Install PyQt6 on Ubuntu Linux

Install PyQt6 on Ubuntu and other Debian-based Linux distributions

Install PyQt6 on macOS

Install PyQt6 on macOS

PyQt6 Widgets

Using QPushButton, QCheckBox, QComboBox, QLabel and QSlider widgets

PyInstaller 4.2 & PySide6

Published 21.04.2021

Multithreading PyQt6 applications with QThreadPool

Run background tasks concurrently without impacting your UI

First steps with Qt Designer

Use Qt Designer's drag and drop interface to design your PyQt6 GUI
1 2 3