We may earn an affiliate commission when you visit our partners.
Course image
Jose Salvatierra and Teclado by Jose Salvatierra

Welcome to the highest-rated course on Udemy on creating desktop apps using Python and Tkinter.

Whether you want to create simple utilities, complex multi-page applications, or internal tools for your business, Tkinter has what you need.

Read more

Welcome to the highest-rated course on Udemy on creating desktop apps using Python and Tkinter.

Whether you want to create simple utilities, complex multi-page applications, or internal tools for your business, Tkinter has what you need.

In this course, I'll teach you the techniques to make any kind of desktop application using Python and Tkinter.

A frequent question is: "Why should I learn Tkinter instead of web development"?

  • Desktop applications are much easier to develop than websites. This is especially true for tools and utilities.

  • It's easy to share Tkinter apps with others without needing them to install Python.

  • Python GUI apps made with Tkinter look native to the Operating System.

  • 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:

  • Use Tkinter's grid and pack layout methods to structure your apps

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

  • Split Tkinter apps into many files, so working on them becomes much easier

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

  • Add shortcuts and keybindings to your Python GUI apps

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

  • Build games using Tkinter with the Canvas widget

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

We've also included two unique sections in this course:

  • A complete Python refresher. If you're new to Python (but you have some other coding experience), this section will make you productive right away.

  • A full reference of many Tkinter widgets so you learn how to work with them quickly. It's also easy to come back to later to review what you've learned.

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. I've helped over 250,000 students in their programming journey.

So if you want to create and distribute intuitive, usable Python GUI applications, this is the course for you.

I'll see you on the inside.

Enroll now

What's inside

Learning objectives

  • 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.

Syllabus

Introduction
Welcome to this course!
Curriculum + how to take this course
Initial setup (for newer Pythonistas)
Read more
This section covers all Python syntax and features you need to know to go through this course. Feel free to skip parts you already know!
Introduction to this section
Variables in Python
Get the Python Refresher code here
String formatting in Python
Getting user input
Lists, tuples, and sets
Advanced set operations
Booleans in Python
If statements in Python
The 'in' keyword in Python
If statements with the 'in' keyword
Loops in Python
List comprehensions in Python
Dictionaries
Destructuring variables
Functions in Python
Function arguments and parameters
Default parameter values
Functions returning values
Lambda functions in Python
Dictionary comprehensions
Unpacking arguments
Unpacking keyword arguments
Object-Oriented Programming in Python
Magic methods: __str__ and __repr__
Class methods and static methods
Class inheritance
Class composition
Type hinting in Python 3.5+
Imports in Python
Relative imports in Python
Errors in Python
Custom error classes
First-class functions
Simple decorators in Python
The 'at' syntax for decorators
Decorating functions with parameters
Decorators with parameters
Mutability in Python
Mutable default parameters (and why they're a bad idea)
In this section we'll guide you through the foundations of Tkinter apps, and we'll create our first one!
Setting up Tkinter
Hello, World with Tkinter
Tkinter Buttons
Our Greetings App
Packing components in Tkinter
Packing components with Frames
Our Greetings App using Pack
The Tkinter Grid Geometry Manager
Enabling High-DPI in Windows 10
This section covers all the main Tkinter widgets, and how to use them. Go through it, and then come back as necessary to refresh your memory!
Labels in Tkinter
The Text Widget in Tkinter
Scrollbars in Tkinter
Separators in Tkinter
Check Buttons in Tkinter
Radio Buttons in Tkinter
Comboboxes in Tkinter
Listboxes in Tkinter
Spinboxes in Tkinter
Scales in tkinter
Our first complete Tkinter project: a distance converter application that converts from metres to feet!
Initial setup
Calculating the number of feet
Updating our feet display label dynamically
Shortcuts and Keybindings in Tkinter
How to change the font of a Tkinter widget
The Tkinter winfo_children method
Learn how to structure your Tkinter apps professionally, so it's easier to add to them and maintain them, by using Object-Oriented Programming
An Object-Oriented Window in Tkinter
An Object-Oriented Frame
A Full Tkinter Object-Oriented App
Making our Distance Converter use Object-Oriented Programming
Adding an inner container for better control of space
Creating a FeetToMetres frame
How to switch between frames (or views) in a Tkinter app
Adding keybindings to our app
Fully understand how themes work, and how to change and create custom styles within a theme!
Tkinter themes, and how to change theme
Finding a Tkinter widget's style class
How to change and configure a Tkinter style
Find out what properties you can change in a Tkinter style
How to create new inherited styles in Tkinter
How to configure state-specific options in a Tkinter style
Can you change the entry field font using styles?
How to use named fonts in Tkinter
In our second Milestone Project we'll build a fully styled Pomodoro Timer, which has two frames: one for the countdown and one for the user settings
Introduction: app overview
Creating a simple Countdown Timer with Tkinter
Adding timer breaks
Showing the current timer's description label on the side
How to start and stop the timer
How to reset the timer
Linking our Timer frame with the controller

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops professional skills and deep expertise in creating GUI applications using Python and Tkinter
Develops core skills for Python desktop GUI development, including the creation of simple utilities, complex multi-page applications, and internal business tools
Taught by an experienced software developer with years of experience, giving learners access to industry best practices and techniques
Provides a comprehensive study of desktop GUI development using Python and Tkinter
Covers unique perspectives and ideas that may add color to other topics and subjects
Offers hands-on labs and interactive materials, fostering a practical learning experience

Save this course

Save GUI Development with Python and Tkinter to your list so you can find it easily later:
Save

Reviews summary

Beginner python gui course

According to students, this course is worth the money and informative. Valuable content includes the Python review. Students are sad to see it end.

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in GUI Development with Python and Tkinter with these activities:
Simple Tkinter Calculator
Build a simple calculator app using Tkinter to apply your understanding of widgets and event handling in Tkinter.
Browse courses on Tkinter
Show steps
  • Plan the layout and design of your calculator.
  • Create the main window and frame for your calculator.
  • Add buttons and labels to your calculator using Tkinter widgets.
  • Implement event handling to handle button clicks.
Tkinter Widget Practice
Practice using different Tkinter widgets to strengthen your understanding of their functionality and customization options.
Browse courses on Tkinter
Show steps
  • Experiment with different Tkinter widgets (e.g., Label, Button, Entry, Canvas, Listbox).
  • Create sample programs that showcase the usage of these widgets.
  • Explore the options and configurations available for each widget.
Tkinter Event Handling Drills
Engage in practice drills to master event handling in Tkinter, ensuring your applications respond effectively to user interactions.
Browse courses on Tkinter
Show steps
  • Implement event handlers for various events (e.g., button clicks, mouse movements, keyboard input).
  • Create programs that demonstrate event handling in Tkinter.
  • Explore advanced event handling techniques, such as event propagation and binding.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Tkinter Custom Theme Creation Tutorial
Follow a guided tutorial to create custom themes in Tkinter, enhancing the visual appeal and branding of your applications.
Browse courses on Tkinter
Show steps
  • Find a suitable Tkinter-based tutorial on custom theme creation.
  • Follow the steps in the tutorial to create your own custom theme.
  • Apply your custom theme to an existing Tkinter application.
Tkinter GUI Development Workshop
Attending a workshop specifically focused on Tkinter GUI development would provide students with an immersive environment to learn advanced techniques and best practices from experienced instructors.
Show steps
  • Research and identify relevant Tkinter GUI development workshops
  • Register for a workshop that aligns with your learning goals
  • Attend the workshop and actively participate in the sessions
  • Practice and implement the techniques learned in the workshop
  • Share your knowledge and experience with other workshop participants
Tkinter Code Review
Organize a peer code review session to exchange feedback and enhance the quality and maintainability of your Tkinter code.
Browse courses on Tkinter
Show steps
  • Share your Tkinter code with a peer for review.
  • Provide constructive feedback on your peer's code, focusing on aspects like code structure, efficiency, and adherence to best practices.
  • Incorporate feedback into your own Tkinter code.
Tkinter-based GUI Application
Design and develop a complete GUI application using Tkinter, demonstrating your understanding of layout management, event handling, and data binding.
Browse courses on Tkinter
Show steps
  • Plan the functionality and design of your GUI application.
  • Implement the GUI using Tkinter widgets and layout managers.
  • Add event handling to respond to user interactions.
  • Incorporate data binding to connect the GUI to underlying data.
  • Test and refine your application.

Career center

Learners who complete GUI Development with Python and Tkinter will develop knowledge and skills that may be useful to these careers:
Software Engineer
A Software Engineer specializes in the design, development, and maintenance of software systems. They work in a variety of industries, including finance, healthcare, and manufacturing. This course will help you build a strong foundation in Python and Tkinter, which are essential programming languages for software development. Additionally, the course covers topics such as object-oriented programming (OOP), event handling, and database integration, which are all important for success as a Software Engineer.
Web Developer
A Web Developer specializes in the development and maintenance of websites and web applications. They work in a variety of industries, including e-commerce, education, and entertainment. This course will help you build a strong foundation in Python and Tkinter, which are essential programming languages for web development. Additionally, the course covers topics such as HTML, CSS, and JavaScript, which are all important for success as a Web Developer.
Data Analyst
A Data Analyst specializes in the collection, analysis, and interpretation of data. They work in a variety of industries, including finance, healthcare, and marketing. This course will help you build a strong foundation in Python and Tkinter, which are essential programming languages for data analysis. Additionally, the course covers topics such as data visualization, machine learning, and statistics, which are all important for success as a Data Analyst.
Business Analyst
A Business Analyst specializes in the analysis of business processes and systems. They work in a variety of industries, including finance, healthcare, and consulting. This course will help you build a strong foundation in Python and Tkinter, which are essential programming languages for business analysis. Additionally, the course covers topics such as data modeling, process mapping, and requirements gathering, which are all important for success as a Business Analyst.
Technical Writer
A Technical Writer specializes in the creation of technical documentation, such as user manuals, white papers, and training materials. They work in a variety of industries, including software, hardware, and manufacturing. This course will help you build a strong foundation in Python and Tkinter, which are essential programming languages for technical writing. Additionally, the course covers topics such as Markdown, LaTeX, and documentation generators, which are all important for success as a Technical Writer.
Quality Assurance Analyst
A Quality Assurance Analyst specializes in the testing and evaluation of software systems. They work in a variety of industries, including finance, healthcare, and manufacturing. This course will help you build a strong foundation in Python and Tkinter, which are essential programming languages for quality assurance. Additionally, the course covers topics such as test planning, test execution, and defect tracking, which are all important for success as a Quality Assurance Analyst.
User Experience Designer
A User Experience Designer specializes in the design and improvement of user interfaces for websites and applications. They work in a variety of industries, including e-commerce, education, and entertainment. This course may be useful for a User Experience Designer as it covers topics such as human-computer interaction, usability testing, and information architecture.
Product Manager
A Product Manager specializes in the planning, development, and marketing of products. They work in a variety of industries, including technology, healthcare, and manufacturing. This course may be useful for a Product Manager as it covers topics such as product planning, market research, and user feedback.
Project Manager
A Project Manager specializes in the planning, execution, and control of projects. They work in a variety of industries, including construction, engineering, and software development. This course may be useful for a Project Manager as it covers topics such as project planning, risk management, and communication.
Systems Analyst
A Systems Analyst specializes in the analysis, design, and implementation of computer systems. They work in a variety of industries, including finance, healthcare, and manufacturing. This course may be useful for a Systems Analyst as it covers topics such as systems analysis, systems design, and software development.
Database Administrator
A Database Administrator specializes in the management and maintenance of databases. They work in a variety of industries, including finance, healthcare, and manufacturing. This course may be useful for a Database Administrator as it covers topics such as database design, database administration, and data security.
Computer Scientist
A Computer Scientist specializes in the theoretical and practical aspects of computer science. They work in a variety of industries, including academia, research, and industry. This course may be useful for a Computer Scientist as it covers topics such as algorithms, data structures, and software engineering.
Information Technology Specialist
An Information Technology Specialist specializes in the installation, maintenance, and support of computer systems. They work in a variety of industries, including healthcare, education, and government. This course may be useful for an Information Technology Specialist as it covers topics such as computer hardware, software, and networking.
Computer Support Specialist
A Computer Support Specialist specializes in the provision of technical support to computer users. They work in a variety of industries, including healthcare, education, and government. This course may be useful for a Computer Support Specialist as it covers topics such as computer hardware, software, and troubleshooting.
Webmaster
A Webmaster specializes in the management and maintenance of websites. They work in a variety of industries, including business, education, and government. This course may be useful for a Webmaster as it covers topics such as website design, HTML, and CSS.

Reading list

We've selected 12 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in GUI Development with Python and Tkinter.
Comprehensive introduction to Python programming, covering a wide range of topics from basic data types and operators to object-oriented programming and GUI development. It is written in a clear and concise style, making it ideal for beginners.
Comprehensive guide to GUI programming with Python, covering a wide range of topics from basic widgets to advanced techniques. It is written in a clear and concise style, making it ideal for beginners.
Practical guide to using Tkinter to create GUI applications in Python. It covers all the essential concepts, from creating windows and widgets to handling events and layouts. It is written in a clear and concise style, making it ideal for beginners.
Comprehensive guide to object-oriented programming in Python, covering a wide range of topics from basic concepts to advanced techniques. It is written in a clear and concise style, making it ideal for beginners.
Comprehensive guide to object-oriented programming in Python, covering a wide range of topics from basic concepts to advanced techniques. It is written in a clear and concise style, making it ideal for beginners.
Practical guide to using Python for data analysis. It covers all the essential concepts, from data cleaning and preparation to data visualization and modeling. It is written in a clear and concise style, making it ideal for beginners.
Practical guide to using Python for machine learning. It covers all the essential concepts, from data preprocessing and model selection to model evaluation and deployment. It is written in a clear and concise style, making it ideal for beginners.
Practical guide to using Python for web development. It covers all the essential concepts, from creating web pages and handling forms to working with databases and deploying applications. It is written in a clear and concise style, making it ideal for beginners.
Practical guide to using Python for finance. It covers all the essential concepts, from data analysis and visualization to risk management and portfolio optimization. It is written in a clear and concise style, making it ideal for beginners.
Practical guide to using Python for data science. It covers all the essential concepts, from data cleaning and preparation to data visualization and modeling. It is written in a clear and concise style, making it ideal for beginners.
Practical guide to using Python for system administration. It covers all the essential concepts, from managing users and groups to automating tasks and deploying applications. It is written in a clear and concise style, making it ideal for beginners.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to GUI Development with Python and Tkinter.
Python Desktop Application Development
Most relevant
Ultimate Tkinter Python GUI Masterclass
Most relevant
GUI Programming with Python
Most relevant
GUI Programming: Create a Login System in Python
Most relevant
GUI programming: Create a Calculator in Python
Most relevant
Build a Python GUI with Tkinter
Most relevant
Creating a Word Jumble Game in Python Using Tkinter GUI
Most relevant
Creating a Color Game in Python Using Tkinter GUI
Most relevant
Storing, Retrieving, and Processing JSON data with Python
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser