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 (104) PySide6 (5) PyQt5 (79) Streamlit (0) Tkinter (0) PySide2 (3) Kivy (0)

QtChart vs PyQtGraph

Comparing performance, popularity, and licensing for Python GUI plotting

Remember the Last Saved Directory with QFileDialog

How to pre-fill file names and remember the last-used folder in PyQt file dialogs

Checkboxes in Table Views with a Custom Model

Show checkboxes for boolean values in PyQt/PySide table views

How to Specify Absolute Paths for QIcon in PyQt6

Using os.path and pathlib to build icon paths correctly in your PyQt6 applications

How to Specify Absolute Paths for QIcon in PySide6

Using os.path and pathlib to build icon paths correctly in your PySide6 applications

Setting Window Icons in PyQt5 Apps Packaged with PyInstaller

How to bundle and display icons correctly in your packaged PyQt5 applications

Using command line arguments to open files with PyQt5 apps -- Windows file associations

Accept filenames from the command line and set up Windows "Open with" for your PyQt5 applications

Using command line arguments to open files with PyQt6 apps -- Windows file associations

Accept filenames from the command line and set up Windows "Open with" for your PyQt6 applications

Loading .ui Files in Python — Working with QWidget and QDialog Forms

How to import any Qt Designer .ui file into your Python application and interact with its widgets

Building an Interactive Audio Editor with PyQtGraph and PyQt6

Use PyQtGraph's fast, interactive plotting to visualize audio waveforms and spectra in a PyQt6 application

How to Show a QMenu Title in PyQt6

Adding visible titles to your context menus using QLabel, QWidgetAction, and other approaches

PyQt6 or PySide6 for Commercial & Embedded Applications?

Understanding Qt licensing for Python apps you plan to sell or distribute without sharing source code

Transmitting Extra Data With Qt Signals in PyQt5

Modifying widget signals to pass contextual information to slots

Display Table with QTableWidget

How to display database query results in a PyQt6 table using QTableWidget

System Tray Icons Not Showing or Not Closing on Windows

Troubleshooting common issues with QSystemTrayIcon on Windows 10 and 11

Are there any built-in QIcons?

Using built-in icons for your apps.

Handling Image Drag and Drop from Web Browsers in PyQt6

Why toLocalFile() returns an empty string and how to handle remote image drops correctly

How to Reference the App Context from a Window in fbs ApplicationContext

Passing the ApplicationContext to your MainWindow when using fbs for PyQt5 packaging

Fixing "No such file or directory" for .ui Files When Using fbs freeze

Why your .ui file works with fbs run but breaks after freezing, and how to fix it

ModuleNotFoundError: No module named 'fbs_runtime'

How to fix the 'fbs_runtime' import error when running fbs projects outside of the fbs environment

Opening a subwindow from a button event

How to open a second window from a button click using PyQt6 and Qt Designer .ui files

Packaged installer file sizes for PyQt apps

Understanding and reducing the size of Python GUI application installers

QDialog blocking main thread?

Understanding why QDialog.exec() blocks your application and how to fix it

QWebEngine in Qt Designer

How to use QWebEngineView and other custom widgets in your Qt Designer layouts
1 2 3 4 5 6 7 8 9 10 11