Chapter 7. Some Fun Project Ideas

In the previous projects, we have explored most of the important features of Tkinter. Developing new projects is now about extending what we have learned so far. In this project, we will build several partly-functional applications that you can take forward.

Mission Briefing

In this project, we will develop "bare bone structures" for several applications from different domains. The applications we will build here include:

  • Screen saver
  • Snake game
  • Weather Reporter
  • Phonebook application
  • Graphing with Tkinter

Why Is It Awesome?

You will find this project useful as we will delve further in to learning about the power of Tkinter Canvas widget, and develop some basic animations for our screen saver program.

When developing the Snake game, we will learn to develop a multithreaded Python application efficiently using the Queue implementation . As you will see, this is a handy tool to have when working on multithreaded applications.

The Weather Reporter application will introduce you to the basics of network programming. You will learn how to mine into the seemingly infinite resource that is available to us over the Internet.

The phonebook application will show you how to work with databases. This is vital for developing any large-scale application where persistence is required.

Finally, we look at basic graphing abilities of Tkinter. We also look at ways of embedding matplotlib graphs in Tkinter.

Your Hotshot Objectives

The key objectives outlined for this project include developing and understanding the followings:

  • Basic animations with Tkinter canvas
  • Queue implementation for a multithreaded Tkinter application
  • Network programming and tapping into resources over the Internet
  • Working with data interchange formats like JSON and XML
  • Database programming and basic CRUD operations on a database
  • Graphing with Tkinter
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.15.182.159