GUI Programming With PyQt

Learning PathSkills: PyQt, Qt Designer, Layouts, Menus, SQL Databases, QThread, SQLite, GUI Design

PyQt Layouts: Create Professional-Looking GUI Applications

In this learning path, you’ll build desktop applications with PyQt, Python’s binding for the Qt framework. You’ll start with fundamentals like calculators, menus, and layouts, then learn to work with SQL databases and keep your GUIs responsive with threads. Finally, you’ll apply your skills to build complete applications like a contact book and a file rename tool.

GUI Programming With PyQt

Learning Path ⋅ 8 Resources

PyQt Fundamentals

Get started with PyQt by building your first applications. You’ll create a calculator, add menus and toolbars, and learn how to arrange widgets using layout managers.

Title image for Build a GUI Calculator With PyQt and Python (Python and PyQt: Building a GUI Desktop Calculator)

Course

Build a GUI Calculator With PyQt and Python

Learn how to create graphical user interface (GUI) applications with Python and PyQt. Once you've covered the basics, you'll build a fully functional desktop calculator that can respond to user events with concrete actions.

Title image for Python and PyQt: Creating Menus, Toolbars, and Status Bars (Python and PyQt: Creating Menus, Toolbars, and Status Bars)

Tutorial

Python and PyQt: Creating Menus, Toolbars, and Status Bars

In this step-by-step tutorial, you’ll learn how to create, customize, and use Python menus, toolbars, and status bars for creating GUI applications using PyQt.

Title image for Creating PyQt Layouts for GUI Applications (PyQt Layouts: Create Professional-Looking GUI Applications)

Course

Creating PyQt Layouts for GUI Applications

In this step-by-step course, you’ll learn how to use PyQt layouts to arrange and manage the graphical components on your GUI applications. With the help of PyQt's layout managers, you'll be able to create polished and professional GUIs with minimal effort.

Tools and Techniques

Learn to use Qt Designer for visual GUI building, connect your applications to SQL databases, and keep your interfaces responsive with worker threads.

Title image for Qt Designer and Python: Build Your GUI Applications Faster (Qt Designer and Python: Build Your GUI Applications Faster)

Tutorial

Qt Designer and Python: Build Your GUI Applications Faster

Learn how to use Qt Designer to create GUIs from your windows and dialogs and use them in your Python applications.

Title image for Handling SQL Databases With PyQt: The Basics (Handling SQL Databases With PyQt: The Basics)

Tutorial

Handling SQL Databases With PyQt: The Basics

In this step-by-step tutorial, you’ll learn how to use PyQt's built-in SQL support to create GUI applications that effectively manage SQL databases.

Title image for Use PyQt's QThread to Prevent Freezing GUIs (Use PyQt's QThread to Prevent Freezing GUIs)

Tutorial

Use PyQt's QThread to Prevent Freezing GUIs

In this step-by-step tutorial, you’ll learn how to prevent freezing GUIs by offloading long-running tasks to worker QThreads in PyQt.

Building Complete Applications

Put everything together by building real-world desktop applications that combine GUI elements, database access, and file operations.

Title image for Build a Contact Book With Python, PyQt, and SQLite (Build a Contact Book With Python, PyQt, and SQLite)

Tutorial

Build a Contact Book With Python, PyQt, and SQLite

In this step-by-step project, you'll build a minimal contact book application using Python, with PyQt to build the application's GUI and SQLite to handle the database.

Title image for Build a Bulk File Rename Tool With Python and PyQt (Build a Bulk File Rename Tool With Python and PyQt)

Tutorial

Build a Bulk File Rename Tool With Python and PyQt

In this step-by-step project, you'll build a bulk file rename tool using Python and pathlib to manage the file renaming process and PyQt to provide the application's GUI.

Congratulations on completing this learning path! You’ve learned to build professional desktop applications with PyQt, from basic widgets and layouts to database-driven projects.

You might also be interested in these related learning paths:

Got feedback on this learning path?

Looking for real-time conversation? Visit the Real Python Community Chat or join the next “Office Hours” Live Q&A Session. Happy Pythoning!

« Browse All Learning Paths