Welcome to LearnPyQt — the only PyQt5 tutorial you need to start building GUI apps with Python.

Whether you want to make a command line script more user friendly or are just seeking a new challenge, creating GUI applications is a great thing to do with 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.

On this site I've put together a complete Qt5 for Python tutorial taking you from basic principles to multithreading and model views. Tutorials use real examples and best practises for building your apps.

PyQt5 Tutorial

The entire course is free to take forever, but you can upgrade to access the video course to help support this site & access additional content. If you haven't got your environment set up yet check out the PyQt5 installation guides for Windows, Linux and Mac.

Styling and Theming Qt
Tweaking the look and feel of your applications

  • This course is coming soon, check back regularly.

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

About the author

Martin Fitzpatrick 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.

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

The detailed coverage of multithreading is something I couldn't find anywhere else, and you made it so simple!

I bought your book because I wanted a simple way to create native applications, and  I was not disappointed.

Good start, looking forward to updates covering more advanced topics such as interacting with databases and APIs.