Tkinter GUI Application Development Projects
3.9 (14 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
100 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Tkinter GUI Application Development Projects to your Wishlist.

Add to Wishlist

Tkinter GUI Application Development Projects

Master GUI programming in Tkinter as you design, implement,and deliver ten real-world applications from start to finish
3.9 (14 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
100 students enrolled
Created by Packt Publishing
Last updated 12/2016
Curiosity Sale
Current price: $10 Original price: $100 Discount: 90% off
30-Day Money-Back Guarantee
  • 5 hours on-demand video
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Create apps that can be scaled in size or complexity without breaking down the core
  • Write your own GUI framework for maximum code reuse
  • Build apps using both procedural and OOP styles
  • Understand the strengths and limitations of both styles
  • Build multithreaded and database-driven apps
  • Create apps that leverage resources from the network
  • Understand the basics of 2D and 3D animation in GUI applications
View Curriculum
  • Those familiar with basic programming constructs in other programming languages can also catch up with some brief reading on Python. No GUI programming experience is expected.
  • This is an easy-to-follow tutorial, full of hands-on examples of real-world GUI programs. The initial section is a must-read as it explains most of the things you need to get started with writing GUI programs with Tkinter. Each subsequent section is a standalone project that discusses some aspects of GUI programming in detail. These sections can be viewed sequentially or randomly depending upon your experience with Python.

Tkinter is the built-in GUI package that comes with standard Python distributions. It is a cross-platform package, which means you build once and deploy everywhere. It is simple to use and intuitive in nature, making it suitable for programmers and non-programmers alike.This video will help you master the art of GUI programming.

It delivers the bigger picture of GUI programming by building real-world, productive, and fun applications such as a text editor, drum machine, game of chess, media player, drawing application, chat application, screen saver, port scanner, and many more. In every project, you will build on the skills acquired in the previous project and gain more expertise.

You will learn to write multi threaded programs, network programs, database driven programs and more. You will also get to know the modern best practices involved in writing GUI apps. With its rich source of sample code, you can build upon the knowledge gained with this video and use it in your own projects in the discipline of your choice.

About The Author

Bhaskar Chaudhary is a professional programmer and information architect. He has an experience of almost 9 years in consulting, contracting, and educating in the field of software development. He has worked with a large set of programming languages on various platforms over the years.

He is an electronics hobbyist and a musician in his free time.

Who is the target audience?
  • This course is for software developers, scientists, researchers, engineers, students, or programming hobbyists with basic familiarity in Python.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
62 Lectures
Meet Tkinter
12 Lectures 01:00:03

This video provides an overview of the entire course.

Preview 04:21

Install the Python Interpreter package from the official repository or build it directly from the source link. 

Installing Python and Tkinter

Learn to describe the different styles of importing Tkinter modules. 

Importing Tkinter

Ability to use the components of GUI programming. 

GUI Programming – the Big Picture

Learn to draw board to capture your ideas. The drawing board that you will use is called the root window. 

The Root Window – Your Drawing Board

Explore the ability to build blocks of GUI programs in the widgets. 

Widgets – the Building Blocks of GUI Programs

Learn how to add widgets to a screen and position them where you want. 

The Tkinter Geometry Manager

Make widgets functions to response events such as pressing of buttons, the pressing of keys on a keyboard, and mouse clicks. 

Event and Callbacks – Adding Life to Programs

Learn to add a string variable to track what the user enters into the entry widget or text widget. 

Handling Widgets – Specific Variables

Learn to provide the unbind option to undo the effect of an earlier binding. 

Event Unbinding and Virtual Events

Learn to specify your own styling of widgets, such as their color, font size, border width, and relief.

Platform-Based Styling for Our Widgets

Discuss on some commonly used options for the root window. 

Some Common Root Window Options
Making a Text Editor
15 Lectures 01:00:16

Gain the ability to implement the broad visual elements of the text editor. 

Preview 03:35

Learn to present a large number of choices to the user without cluttering the interface. 

Adding a Menu and Menu Items

Drag down the majorities of the visual elements of the text editor. 

Implementing the View Menu

Implement some common features in the text editor to handle common text-related functions.

Adding a Built-in Functionality

Achieve the ability to target each character or location of the text with precision. 

Indexing and Tagging

Get the ability to apply the seltag to the entire text in the widget. 

Implementing the Select All Feature

Learn to a search keyword and specifies whether the search needs to be case-sensitive. When the user clicks on the Find All button, all matches are highlighted. 

Implementing the Find Text Feature

Introduce the indexing and tagging—two very powerful concepts associated with many Tkinter widgets. You will find yourself using these two concepts all the time in your projects. 

Types of Top Level Windows

Implement the functionality of the File menu options of Open, Save, and Save As. We can implement these dialogs using the standard Tkinter widgets. 

Working with Forms and Dialogs

Gain the ability to provide readymade message boxes to display a wide variety of messages in applications. 

Working with Message Boxes

Learn to add shortcut icons to the toolbar. 

The Icons Toolbar and View Menu Functions

Work towards showing the line numbers to the left of the Text widget. This will require us to tweak the code at various places. 

Displaying the Line Number

Learn to add the cursor information bar, which is simply a small label at the bottom-right corner of the Text widget, which displays the current position of the cursor. 

Adding the Cursor Information Bar

Define a color scheme dictionary containing the name and hexadecimal color codes as a key-value pair. 

Adding Themes

Complete the editor in this final iteration by adding a contextual menu to the editor. 

Creating the Context/Pop-Up Menu
Programmable Drum Machine
10 Lectures 50:27

Learn to add built-in libraries from the standard Python distribution, which includes Tkinter, os, math, threading, and pickle modules to verify that these modules do exist. 

Preview 03:34

Achieve the ability to build our drum program using OOP to setup the GUI. 

Setting Up the GUI in OOP

Build a good data structure and add a code which will naturally be more simple, elegant, and easy to maintain. 

Finalizing the Data Structure

Generate a broader visual elements which will divide the program into four broad visual sections. 

Creating Broader Visual Elements

Learn to play sound files, in the order of a beat pattern decided by the user. 

Loading Drum Samples

Mechanism to load drum samples and a mechanism to define beat patterns in place. 

Playing the Drum Machine

Gain the ability to handle the threading module of Python to play the pattern in a separate thread. This way, pygamewill not interfere with Tkinter's main loop. 

Tkinter and Threading

Extend our drum machine to create more than one pattern in the same program which will provide us the ability to play different patterns simply by changing the pattern number. 

Support for Multiple Beat Patterns

Achieve the ability to store values in some form of file storage and reload, play, and even edit the patterns. We need some form of object persistence. 

Saving Beat Patterns

Gain the ability to work with the ttk-themed widgets

Working with the ttk-themed Widgets
A Game of Chess
5 Lectures 40:34

Learn to write programs in the Model-View-Controller (MVC) architecture. 

Preview 09:31

Ability to record the position of the chess pieces on the chessboard and define the locations to identify the chess pieces. 

Modeling the Data Structures

Define classes for every individual piece as a subclass of this parent Piece class and then override all the attributes and methods in individual classes. 

Creating a Piece Class

The objective of this iteration is to move the chess pieces with a click of the left mouse button. When a player clicks on a chess piece, the code should first check whether it is a legitimate turn for that chess piece. 

Making the Game Functional

This video will show you how to manage User preferences smartly and enhances the User interactions. 

Managing User Preferences
Building an Audio Player
10 Lectures 37:08

Learn to use cross-platform modules to write the code and to ensure that the player can play audio files on the Windows, Mac OS X, and Linux platforms. 

Preview 03:49

Ability to build the broad modular structure for the program to keep the data structure, audio-related logic. 

Program Structure and Broadview Skeleton

Learn to use the Play_list method to write the getter method for the playlist. 

Deciding the Data Structure and Creating the Player class

Learn to write some code for a feature that allows us to add and remove items from a playlist. 

Adding and Removing Items from a Playlist

Generate code for the play/stop, pause/unpause, next track, previous track, fast forward, rewind, volume change, and mute/unmute features. 

Playing Audio and Adding Audio Controls

Learn to create our own Seekbar widget to add a seek bar to the audio player. 

Creating a Seek Bar

Learn to generate the one time update information while playing the audio. 

One-Time Updates during audio playback

Learn to update the position of the seek bar knob and the elapsed play duration. 

Managing Continuous Updates

Gain the ability to add the feature that allows users to loop over tracks. 

Looping Over Tracks

Achieve the ability to add a tooltip named the Balloon widget to all the buttons in our player. 

Adding a Tooltip
Paint Application
10 Lectures 42:44

Gain the ability to create a framework on your own that makes menu generation easy for us. 

Preview 07:19

Learn to create a PaintApplicationclass to draw the menu using our framework and import the framework into our Framework class. 

Setting Up a Broad GUI Structure

Learn to know where the mouse was first clicked and where it was released. 

Dealing with Mouse Events

Achieve the ability to add 16 buttons to the left toolbar depending on which button is clicked, different options would show up in the top bar. 

Adding Toolbar Buttons

Configure the items which you have added at the time of creating the object or later using the itemconfigmethod or the addtag_withtagmethod. 

Drawing Items on the Canvas

Gain the ability to provide a color chooser, letting the user select two different colors: the foreground color and the background color. 

Adding a Color Palette

Learn to display the options for the top bar dynamically. 

Adding Top Bar Options for Draw Methods

Gain the ability to draw a variety of interesting shapes on the drawing canvas. 

Drawing Irregular Lines and Super Shapes

Learn to add the functionalities to the remaining toolbar buttons into the canvas. 

Adding Functionality to the Remaining Buttons

Learn to add the functionality to modify the empty methods to make them functional. 

Adding Functionality to Menu Items
About the Instructor
Packt Publishing
3.9 Average rating
7,282 Reviews
51,940 Students
616 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.