Create professional user-interfaces for your Python apps

Stop searching for how to create GUI applications with Python — it's all here. I've been teaching Python & Qt for 8 years, helping thousands of developers just like you to bring their apps to life. Let's make your project a success!

Start the PyQt5 tutorial

or start the PySide6 tutorial, PyQt6 tutorial or PySide2 tutorial.

Martin Fitzpatrick, PhD

Python GUI Tutorials

Struggling to create desktop apps in Python?
Not any more.

My focused tutorials will get you started creating GUIs in minutes, leading you through common use-cases, with a mix of tutorials, hands-on exercises and videos so you can master each topic.

PyQt5 Tutorial

PyQt is a Python library for creating GUI applications using the Qt toolkit. 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.

Start PyQt5 Tutorial

PyQt6 Tutorial

PyQt is a Python library for creating GUI applications using the Qt toolkit. Created by Riverbank Computing, PyQt is free software (GPL licensed) and has been in development since 1999. The latest version PyQt6 -- based on Qt 6 -- was released in 2021 and the library continues to be updated.

Start PyQt6 Tutorial

PySide6 Tutorial

PySide, also known as Qt for Python, is a Python library for creating GUI applications using the Qt toolkit. PySide is the official binding for Qt on Python and is now developed by The Qt Company itself.

Start PySide6 Tutorial

My Books

In-depth guides to Python GUI programming
More than just the basics.

My books take you from first principles to fully-functional apps, not toy examples. Buy once, and get free updates for life — last updated in 2021.

Create GUI Applications with Python & Qt5
PyQt5 5th Edition, May 2022

Packaging Python Applications with PyInstaller
1st Edition, June 2022

Create GUI Applications with Python & Qt6
PyQt6 5th Edition, May 2022

Create GUI Applications with Python & Qt6
PySide6 5th Edition, May 2022

Latest Updates

Packaging PySide2 applications for Windows with PyInstaller & InstallForge

Turn your PySide2 application into a distributable installer for Windows

PyQt6 Widgets updated

Using Qt6's library of built-in widgets to build your applications

QComboBox

Drop-down selection widget

Search a QTablewidget and select matching items

Finding and selecting matching items in a QTableWidget

Q&A: How to show a custom cursor on a PyQtGraph plot?

Changing the OS cursor and implementing a custom crosshair

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

Multithreading PySide6 applications with QThreadPool

Run background tasks concurrently without impacting your UI

Creating searchable widget dashboards

Make dashboard UIs easier to use with widget search & text prediction
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18