GUI Development with Python and Tkinter
4.6 (551 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,578 students enrolled

GUI Development with Python and Tkinter

Master Python GUI development using Tkinter to build desktop applications!
Bestseller
4.6 (551 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,582 students enrolled
Last updated 11/2019
English
English
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 11 hours on-demand video
  • 5 articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Master GUI Development with Tkinter and Python!
  • Create multiple Tkinter projects, including forms, games, and even a chat app that interacts with a web API.
  • Fully understand the two most important Geometry Managers in Tkinter: grid and pack.
  • Learn how to use a wide variety of widgets, such as labels, entries, buttons, spinboxes, and even the Canvas!
  • Gain in-depth knowledge of how themes and styles work in Tkinter, as well as how you can create your own styles and use them in your applications.
  • Throughout the entire course, follow best practices for Python and Tkinter code as taught by a professional software developer with years of experience.
Course content
Expand all 116 lectures 11:13:07
+ Introduction
3 lectures 06:18
Curriculum + how to take this course
03:37
Initial setup (for newer Pythonistas)
00:50
+ Python Refresher
40 lectures 04:40:54
Get the Python Refresher code here
00:09
Getting user input
05:16
Lists, tuples, and sets
06:31
Advanced set operations
04:39
Booleans in Python
04:59
If statements in Python
08:17
The 'in' keyword in Python
02:02
If statements with the 'in' keyword
08:18
Loops in Python
11:07
List comprehensions in Python
07:24
Dictionaries
08:31
Destructuring variables
08:28
Functions in Python
10:41
Function arguments and parameters
07:40
Default parameter values
03:54
Functions returning values
07:19
Lambda functions in Python
07:52
Dictionary comprehensions
04:01
Unpacking arguments
10:24
Unpacking keyword arguments
08:44
Object-Oriented Programming in Python
15:52
Magic methods: __str__ and __repr__
06:25
Class methods and static methods
14:03
Class inheritance
08:32
Class composition
06:08
Type hinting in Python 3.5+
05:08
Imports in Python
09:33
Relative imports in Python
08:52
Errors in Python
12:47
Custom error classes
05:04
First-class functions
07:52
Simple decorators in Python
07:12
The 'at' syntax for decorators
03:33
Decorating functions with parameters
02:24
Decorators with parameters
04:50
Mutability in Python
06:03
Mutable default parameters (and why they're a bad idea)
04:27
+ Creating Your First Tkinter App
9 lectures 55:43
Setting up Tkinter
03:12
Tkinter Buttons
07:15
Our Greetings App
06:06
Packing components with Frames
04:23
Our Greetings App using Pack
03:54
The Tkinter Grid Geometry Manager
11:45
Enabling High-DPI in Windows 10
02:13
+ Tkinter Widget Reference
11 lectures 43:37
Introduction to this section
00:35
Labels in Tkinter
07:58
The Text Widget in Tkinter
05:04
Scrollbars in Tkinter
04:23
Separators in Tkinter
02:19
Check Buttons in Tkinter
03:46
Radio Buttons in Tkinter
02:07
Comboboxes in Tkinter
05:47
Listboxes in Tkinter
04:53
Spinboxes in Tkinter
03:30
Scales in tkinter
03:15
+ Milestone Project: Distance Converter
6 lectures 21:58
Initial setup
10:02
Calculating the number of feet
03:12
Updating our feet display label dynamically
02:00
Shortcuts and Keybindings in Tkinter
01:54
How to change the font of a Tkinter widget
02:40
The Tkinter winfo_children method
02:10
+ Object-Oriented Programming with Tkinter
8 lectures 40:52
An Object-Oriented Window in Tkinter
04:46
An Object-Oriented Frame
06:38
A Full Tkinter Object-Oriented App
01:47
Making our Distance Converter use Object-Oriented Programming
11:28
Adding an inner container for better control of space
01:42
Creating a FeetToMetres frame
03:50
How to switch between frames (or views) in a Tkinter app
08:15
Adding keybindings to our app
02:26
+ Tkinter Themes and Styles
8 lectures 39:29
Tkinter themes, and how to change theme
04:23
Finding a Tkinter widget's style class
02:03
How to change and configure a Tkinter style
02:39
Find out what properties you can change in a Tkinter style
11:05
How to create new inherited styles in Tkinter
03:48
How to configure state-specific options in a Tkinter style
07:37
Can you change the entry field font using styles?
04:06
How to use named fonts in Tkinter
03:48
+ Milestone Project: Pomodoro Timer
11 lectures 01:04:48
Introduction: app overview
00:57
Creating a simple Countdown Timer with Tkinter
08:45
Adding timer breaks
06:38
Showing the current timer's description label on the side
04:35
How to start and stop the timer
07:53
How to reset the timer
03:19
Linking our Timer frame with the controller
05:02
Splitting our Tkinter app into multiple files
04:16
Creating the user Settings Frame
06:08
Adding the ability to switch between frames
07:30
Styling our Pomodoro Timer with custom styles and state-specific styles
09:45
+ Build a Chat app with Tkinter
10 lectures 56:30
Overview of what the app will look like
01:12
How to get the chat messages from the API
06:07
Creating a label for each message received
06:10
Showing the message date in another label
05:09
How to add a sample user avatar to each message
07:18
How to create scrollable Frames with Tkinter
06:09
How to code the scrollable Frame in our application
09:08
Handling resizing and wrapping labels
05:04
Sending message data to the API
04:55
Styling our completed app
05:18
Requirements
  • You should have some programming knowledge, with Python or another language. Although we provide a complete Python Refresher course that covers everything you need to know, this is not an introductory Python course.
  • You need a computer with either Linux, Mac, or Windows 10. Older Windows versions will work too but there can be some small issues that we can work around.
  • Developing on a mobile device is possible by using a web editor. How to do this is detailed inside the course.
Description

Welcome to the highest-rated course on Udemy for learning to create desktop apps using Python GUIs with Tkinter!

If you're bored of creating console and text apps, you've come to the right place. We will help you take your apps to the next level by introducing Graphical User Interfaces that make your applications interesting and easy to use.

While everyone's talking about using Python for machine learning, data science, or web development, they're forgetting one massive use case: custom, specialized business tools.

There are so many companies, large and small, that do things for which there is no software. From manufacturing to small shops, medical practices, stores, film and movie studios... all of these struggle with a lack of technology in their industries. And for many of them, their in-house developers are often tasked with developing specific tools for specific use cases. GUIs help make their non-technical users more effective.

Here are a few more reasons to learn Tkinter:

  • Developing Python GUI applications using Tkinter will make your life much easier as a developer as the taught app structure is simple and straightforward

  • Tkinter applications can run almost anywhere and can be shared with others without requiring them to install Python

  • Python GUI apps made with Tkinter can look fully native to the Operating System, so they look and feel just like traditional desktop apps

  • Tkinter apps have full access to the user's computer, which means you can store data locally, safely and securely

So what's covered in the course?

This is the most comprehensive Tkinter course available on Udemy. We'll look at how you can:

  • Layout your Tkinter apps using the two most popular methods: grid and pack

  • Use Tkinter frames for more complex layouts

  • Add shortcuts and keybindings to your Python GUI apps

  • Use Object-Oriented Programming with Tkinter, and create your own custom widgets

  • Add styles to Tkinter apps using the new Themed Tkinter Widgets

  • Use fonts extensively in Tkinter, including named fonts

  • Split Tkinter apps into multiple files so working with them becomes much easier

  • Connect to web APIs to send and receive data, stored in the cloud

  • Build games using Tkinter and the super-powerful Canvas widget

  • Package and distribute your applications so your users don't need to install Python

We've also included a complete Python refresher for those of you new to Python (you'll still need some programming experience, otherwise this course may be a bit advanced!)

And also a full reference of many Tkinter widgets that you can come back to whenever you need to use any of them, even after finishing the course

In addition, Tkinter is a great way to take your Python to the next level. It allows you to put your app ideas and make them a reality.


Other students are loving this course!

> The course is straightforward and logically introduces new concepts. I am enjoying it so far!

> This course was perfect for no-frills refresher - and then some! The instructor is very engaging, is full of great suggestions and insight, and delivers his material perfectly.

> Excellent course! A lot of details explained well.

My name is Jose Salvatierra, and I'll be your instructor! I'm an experienced software developer turned instructor. Now a best-seller in Udemy, I've helped over 100,000 students in their programming journey.

Join us!

So if you've been wanting to create and distribute Python GUI applications, and you want to provide your users with intuitive, usable interfaces, this is the course for you!

Who this course is for:
  • If you already have some programming knowledge and want to broaden your skill set, and learn how to create desktop apps and share them with users.
  • If you'd like to create desktop tools to help with your business, this course will teach you how to do that effectively.
  • Finally, this course is for anyone who wants to build desktop apps with Python!