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 (274) PyQt6 (100) PySide6 (5) PyQt5 (83) Streamlit (0) Tkinter (0) PySide2 (3) Kivy (0)

Is it just me or is QMediaPlayer not working properly?

Fixing incorrect duration reporting and media file issues with QMediaPlayer on Windows

Save multiple plots to pdf

How to save multiple matplotlib plots to a single PDF file from a PyQt6 application

How to Find What Data a Signal Sends in PyQt6 and PySide6

Understanding signal signatures and how to look them up in the Qt documentation

Creating Additional Windows in PyQt5

How to open, show, hide, and toggle multiple windows in your PyQt5 application

Troubles with loading data when running from my IDE

Why icons, images, and databases fail to load when you run your PyQt app from VS Code

Multi-Threading Do's and Don'ts

Practical guidelines for working with threads, timers, and signals in PyQt6

QNetworkAccessManager HTTPS UnknownNetworkError with PySide2 on Windows

Fixing "TLS initialization failed" when making HTTPS requests with PySide2

QTableWidget: How to remove subsequent rows on new row insert?

Managing chess move history in a QTableWidget with row insertion and deletion

How can I import a pyqtgraph HistogramLUTWidget with a .ui file

Using Qt Designer widget promotion to embed pyqtgraph's HistogramLUTWidget in your UI

Why is Qt Creator used in the tutorial?

Understanding the difference between Qt Creator and Qt Designer

Understanding Python Keyword Unpacking with QThreadPool Progress Callbacks in PyQt6

How **kwargs connects progress signals to worker functions in PyQt6 multithreading

Simultaneous scaling ViewBox elements

How to synchronize axis scaling across multiple PyQtGraph plots

"Fix: (IM002) [Microsoft][ODBC Driver Manager] Data Source Name Not Found"

Solving the QODBC3 connection error when using QSqlDatabase in PyQt5

Creating a database data entry form with PyQt5

Using SQL table models and QDataWidgetMapper to build automatic data entry views

Using Icons from Qt Resources with PyInstaller

Understanding why PyInstaller needs a separate icon file, even when you're using a QRC resource file

Impossible Translations

Troubleshooting PyQt6 translation loading issues with QTranslator

Create GUI Applications with Python & Qt5, 4th Edition Now Available (PyQt5 & PySide2)

The hands-on guide to building desktop apps with Python and Qt5

Embedding External Programs and Terminals in PyQt5 Widgets

Approaches to embedding terminals and external applications inside your PyQt5 or PySide2 GUI

Embedding External Programs and Terminals in PyQt6 Widgets

Approaches to embedding terminals and external applications inside your PyQt6 or PySide2 GUI

PyQt vs PySide Licensing

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

Dynamically Adding Rows of Widgets in PyQt6

How to use QGridLayout to add multiple widgets per row at runtime

Packaging Python Apps That Use scikit-learn with PyInstaller

How to solve hidden import errors when bundling scikit-learn and other complex packages

Debugging widgets not appearing in Qt applications

How to figure things out when something goes wrong

Calling value from model through pair of integers representing row and column

How to retrieve data from a Qt model using row and column integers
1 2 3 4 5 6 7 8 9 10 11