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 free course

Martin Fitzpatrick, PhD

Learning tracks

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

My focused learning tracks 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.

Create Desktop GUI Applications with PyQt

Take your first steps building GUIs with Python. This track starts from scratch, assuming no prior knowledge of GUI concepts. We'll introduce these concepts step by step, using hands-on examples.

Includes code for both PyQt5 and PyQt6.

Looking for PySide2 or PySide6? Go to the PySide tutorial.

Start this track

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 & Qt6
PySide6 1st Edition, April 2021

Create GUI Applications with Python & Qt6
PyQt6 1st Edition, April 2021

Create GUI Applications with Python & Qt5
PyQt5 4th Edition, April 2021

Latest Updates

PasswordEdit

Password editing field, with Show/Hide toggle

Q&A: Are there any built-in QIcons?

Using built-in icons for your apps.

Q&A: How to check if a QLineEdit is empty?

Empty strings are falsey in Python

First steps with Qt Designer

Use Qt Designer's drag and drop interface to design your GUI

Implementing QPainter flood fill in PyQt5/PySide

Filling irregular regions in a QPainter canvas

Packaging PyQt5 applications for Windows, with PyInstaller

Turn your Qt5 application into a distributable installer for Windows

The ModelView Architecture

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

Displaying tabular data in Qt5 ModelViews

Create customized table views with conditional formatting, numpy and pandas data sources.

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