Create Graphical User Interfaces (GUI)

Learning PathSkills: Tkinter, PyQt, wxPython, Kivy, GUI Layouts, Event Handling, Database Integration, Thread Management, Mobile App Development, GUI Design

In this learning path, you’ll build graphical user interfaces with Python using multiple frameworks. Starting with Tkinter basics and a hands-on game project, you’ll then explore PyQt for professional desktop applications with layouts, menus, databases, and threading. You’ll also work with wxPython and Kivy for cross-platform and mobile development.

Share

Create Graphical User Interfaces (GUI)

Learning Path ⋅ 12 Resources

Getting Started With Tkinter

Tkinter is Python’s built-in GUI toolkit. You’ll learn the basics of creating windows, widgets, and event-driven applications, then put your skills to work by building a game.

Course

Building a Python GUI Application With Tkinter

Learn the basics of GUI programming with Tkinter, the de facto Python GUI framework. Master GUI programming concepts such as widgets, geometry managers, and event handlers. Then, put it all together by building two applications: a temperature converter and a text editor.

Tutorial

Build a Tic-Tac-Toe Game With Python and Tkinter

In this step-by-step project, you'll learn how to create a tic-tac-toe game using Python and the Tkinter GUI framework. Tkinter is cross-platform and is available in the Python standard library. Creating a game in Python is a great and fun way to learn something new and exciting!

Building With PyQt

PyQt gives you access to the Qt framework for building professional desktop applications. You’ll learn to create menus, layouts, calculators, and database-driven apps, and how to keep your GUIs responsive with threads.

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.

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.

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.

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.

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.

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.

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.

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.

Exploring Other Frameworks

Beyond Tkinter and PyQt, Python has other GUI frameworks worth knowing. wxPython provides native-looking interfaces, while Kivy lets you build cross-platform apps for desktop and mobile.

Tutorial

How to Build a Python GUI Application With wxPython

Learn how to create a cross-platform graphical user interface (GUI) using Python and the wxPython toolkit. A graphical user interface is an application that has buttons, windows, and lots of other widgets that the user can use to interact with your application.

Course

Build Cross-Platform GUI Apps With Kivy

Learn how to build a cross-platform mobile application with Python and the Kivy GUI framework. You'll discover how to develop an application that can run on your desktop as well as your phone. Then, you'll package your app for Windows, Linux, and macOS.

Congratulations on completing this learning path! You’ve learned to build GUI applications with Tkinter, PyQt, wxPython, and Kivy, covering layouts, events, databases, and threading.

Continue your advanced Python journey with the next learning path:

Learning Path

Understand CPython

8 Resources ⋅ Skills: Python, Pointers, Memory Management, Profiling, CPython Source Code, C Extensions, Python Bindings, Memory Mapping

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