To help support developers in [[ countryRegion ]] I give a [[ localizedDiscount[couponCode] ]]% discount on all books and courses. Please share with friends and colleagues!

There is a new edition of my PyQt5 book and PySide2 book available.

Welcome to LearnPyQt, the complete guide to building GUI apps with Python & Qt.

Creating GUI apps with Python allows you to rapidly convert your scripts and utilities into professional-looking applications. Qt is a professional, mature and feature-full library for building GUIs. There are two wrappers for using Qt from Python — PyQt and PySide. Both give you all the power of the Qt5 framework directly from Python, including complex widgets, multimedia support, 2D vector graphics and a flexible model-view architecture.

See below for a complete PyQt5 tutorial taking you from basic principles to multithreading and model views. There is code for both PyQt5 and PySide2 along with example apps and custom widgets.

PyQt5 not installed? Check out the installation guides for Windows, Linux and Mac.

Create your Learn PyQt account to track progress.

If you made it to here, you're basically a PyQt genius! But keep checking back as I'm adding new tutorials regularly. If you have something in particular you would like to see covered on the course drop me an email.

Your Books & Downloads

If you buy the book your downloads will be available here. You'll have lifetime access to any future updates and additions.

What people are saying

Fantastic book, gave a great introduction to PyQt5 and some more complex features too!

An excellent book for anyone getting started with GUI and python programming and PyQt5. The author has been extremely responsive to questions.

Great book, really got me started making Python GUIs!

About me

Martin Fitzpatrick PhD

Senior Software Engineer, developing PyQt apps for 8 years.

I have been developing PyQt5 apps for 8 years. Building desktop applications to make data-analysis tools more user-friendly, Python was the obvious choice. Starting with Tk, later moving to wxWidgets and finally adopting PyQt, I haven't looked back since.

I love the flexibility Python gives you to create fun and useful things quickly. Paired with Qt it's a great way to build professional apps on the desktop.