PyQt is a Python binding of the cross-platform GUI toolkit Qt. Applications built with PyQt 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. PyQt5 was released in 2016 and last updated in October 2021.

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

Explore PyQt

Showing articles for All (290) PyQt6 (120) PySide6 (91) PyQt5 (243) Tkinter (84) PySide2 (88)

QComboBox

Drop-down selection widget

Q&A: How to fix widgets appearing as separate windows?

Understanding Qt parents and layouts and the effect on widget position

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

Introduction to the QGraphics framework

Creating vector interfaces using the QGraphics View framework

Introduction to the QGraphics framework

Creating vector interfaces using the QGraphics View framework

Creating additional windows updated

Opening new windows for your application

Q&A: How can I enable editing on a QTableView?

Modifying your model to allow editing of your data source

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

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 updated

Defining toolbars, menus and keyboard shortcuts with QAction

PyQt6 Dialogs and Alerts updated

Notify your users and ask for their input

PyQt6 Layouts updated

Use layouts to effortlessly position widgets within the window

PyQt6 Signals, Slots & Events updated

Triggering actions in response to user behaviors and GUI events

PySide6 Layouts updated

Use layouts to effortlessly position widgets within the window

Creating your first app with PyQt6 updated

A simple Hello World! application with Python and Qt6

PyQt6 Widgets updated

Using QPushButton, QCheckBox, QComboBox, QLabel and QSlider widgets
1 2 3 4 5 6 7 8 9 10 11 12