GUI Development with Python and Tkinter

GUI Development with Python and Tkinter

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 11 Hours | 4.62 GB

Master Python GUI development using Tkinter to build desktop applications!

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.

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.
Table of Contents

Introduction
1 Welcome to this course!
2 Curriculum + how to take this course
3 Initial setup (for newer Pythonistas)

Python Refresher
4 Introduction to this section
5 Variables in Python
6 Get the Python Refresher code here
7 String formatting in Python
8 Getting user input
9 Lists, tuples, and sets
10 Advanced set operations
11 Booleans in Python
12 If statements in Python
13 The ‘in’ keyword in Python
14 If statements with the ‘in’ keyword
15 Loops in Python
16 List comprehensions in Python
17 Dictionaries
18 Destructuring variables
19 Functions in Python
20 Function arguments and parameters
21 Default parameter values
22 Functions returning values
23 Lambda functions in Python
24 Dictionary comprehensions
25 Unpacking arguments
26 Unpacking keyword arguments
27 Object-Oriented Programming in Python
28 Magic methods str and repr
29 Class methods and static methods
30 Class inheritance
31 Class composition
32 Type hinting in Python 3.5+
33 Imports in Python
34 Relative imports in Python
35 Errors in Python
36 Custom error classes
37 First-class functions
38 Simple decorators in Python
39 The ‘at’ syntax for decorators
40 Decorating functions with parameters
41 Decorators with parameters
42 Mutability in Python
43 Mutable default parameters (and why they’re a bad idea)

Creating Your First Tkinter App
44 Setting up Tkinter
45 Hello, World with Tkinter
46 Tkinter Buttons
47 Our Greetings App
48 Packing components in Tkinter
49 Packing components with Frames
50 Our Greetings App using Pack
51 The Tkinter Grid Geometry Manager
52 Enabling High-DPI in Windows 10

Tkinter Widget Reference
53 Introduction to this section
54 Labels in Tkinter
55 The Text Widget in Tkinter
56 Scrollbars in Tkinter
57 Separators in Tkinter
58 Check Buttons in Tkinter
59 Radio Buttons in Tkinter
60 Comboboxes in Tkinter
61 Listboxes in Tkinter
62 Spinboxes in Tkinter
63 Scales in tkinter

Milestone Project Distance Converter
64 Initial setup
65 Calculating the number of feet
66 Updating our feet display label dynamically
67 Shortcuts and Keybindings in Tkinter
68 How to change the font of a Tkinter widget
69 The Tkinter winfo children method

Object-Oriented Programming with Tkinter
70 An Object-Oriented Window in Tkinter
71 An Object-Oriented Frame
72 A Full Tkinter Object-Oriented App
73 Making our Distance Converter use Object-Oriented Programming
74 Adding an inner container for better control of space
75 Creating a FeetToMetres frame
76 How to switch between frames (or views) in a Tkinter app
77 Adding keybindings to our app

Tkinter Themes and Styles
78 Tkinter themes, and how to change theme
79 Finding a Tkinter widget’s style class
80 How to change and configure a Tkinter style
81 Find out what properties you can change in a Tkinter style
82 How to create new inherited styles in Tkinter
83 How to configure state-specific options in a Tkinter style
84 Can you change the entry field font using styles
85 How to use named fonts in Tkinter

Milestone Project Pomodoro Timer
86 Introduction app overview
87 Creating a simple Countdown Timer with Tkinter
88 Adding timer breaks
89 Showing the current timer’s description label on the side
90 How to start and stop the timer
91 How to reset the timer
92 Linking our Timer frame with the controller
93 Splitting our Tkinter app into multiple files
94 Creating the user Settings Frame
95 Adding the ability to switch between frames
96 Styling our Pomodoro Timer with custom styles and state-specific styles

Build a Chat app with Tkinter
97 Overview of what the app will look like
98 How to get the chat messages from the API
99 Creating a label for each message received
100 Showing the message date in another label
101 How to add a sample user avatar to each message
102 How to create scrollable Frames with Tkinter
103 How to code the scrollable Frame in our application
104 Handling resizing and wrapping labels
105 Sending message data to the API
106 Styling our completed app

Build a Snake Game with Tkinter
107 Build the Snake Game!

Packaging and Distributing executables
108 Installation and documentation of pyinstaller
109 Two ways to bundle apps into executables with Python
110 Bundling a standalone app
111 How to include data files with an executable Python app
112 How to include data files in a –onefile executable
113 How to hide the console window when packaging applications
114 When things go wrong packaging Python apps
115 Building Python apps for multiple platforms

Wrapping up!
116 Bonus lecture other courses and next steps