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.

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"?

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

Traffic lights

Read about what's good
what should give you pause
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

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Practical python gui development with tkinter

According to learners, this course offers a comprehensive and practical introduction to GUI development using Python's Tkinter library. Students frequently highlight the instructor's clear and engaging teaching style as a major positive. The inclusion of a Python refresher section is appreciated by those less familiar with the language, making the course accessible. Learners find the coverage of Tkinter widgets, layout managers (grid and pack), and Object-Oriented Programming to be thorough. The hands-on projects are widely praised for solidifying understanding and providing practical experience. While some note that Tkinter itself can feel somewhat basic compared to modern frameworks, the course is seen as a highly effective way to learn desktop application basics and build functional tools.
Helpful for newer Python users.
"The Python refresher section was a great help before diving into Tkinter."
"Even having some Python knowledge, the refresher was a solid review."
"Perfect for someone coming from another language who needs the Python fundamentals."
"I appreciated starting with the Python basics before tackling the GUI part."
Covers essential Tkinter features.
"Covers all the essential widgets, layout methods, and OOP practices for Tkinter."
"Learned grid, pack, and how to structure apps using OOP, which is crucial."
"The reference section on widgets is a great resource I can come back to."
"I feel confident using various Tkinter elements after this course."
Real-world projects help solidify skills.
"The projects are really helpful for practicing what you learn."
"Building the distance converter and timer apps was very practical."
"I found the hands-on coding and projects to be the strongest part of the course for me."
"The project-based approach made the concepts much easier to grasp and apply."
Instructor explains concepts very well.
"The instructor explains everything in a clear and concise way."
"Jose is an excellent instructor and explains everything clearly."
"I really appreciated the clear explanations and step-by-step approach."
"The clarity of the explanations made learning Tkinter surprisingly easy for me."
Some encountered initial setup problems.
"Had a few issues getting the environment set up correctly at the very beginning."
"Initial setup steps could have been slightly clearer for absolute beginners."
"Ran into some compatibility problems with my specific OS setup."
"Getting everything installed and running smoothly took a little troubleshooting."
Tkinter can feel basic sometimes.
"While the course is great, Tkinter itself feels a bit outdated compared to other GUI frameworks."
"It's a good start, but Tkinter might be limiting for very complex, modern-looking apps."
"I now understand Tkinter, but I see why some might prefer PyQt or Kivy for certain projects."
"The framework is functional, but styling options seem less flexible than I expected."

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

Similar courses are unavailable at this time. Please try again later.
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 - 2025 OpenCourser