Book Image

Tkinter GUI Programming by Example

Book Image

Tkinter GUI Programming by Example

Overview of this book

Tkinter is a modular, cross-platform application development toolkit for Python. When developing GUI-rich applications, the most important choices are which programming language(s) and which GUI framework to use. Python and Tkinter prove to be a great combination. This book will get you familiar with Tkinter by having you create fun and interactive projects. These projects have varying degrees of complexity. We'll start with a simple project, where you'll learn the fundamentals of GUI programming and the basics of working with a Tkinter application. After getting the basics right, we'll move on to creating a project of slightly increased complexity, such as a highly customizable Python editor. In the next project, we'll crank up the complexity level to create an instant messaging app. Toward the end, we'll discuss various ways of packaging our applications so that they can be shared and installed on other machines without the user having to learn how to install and run Python programs.
Table of Contents (18 chapters)
Title Page
Copyright and Credits
Packt Upsell
Contributors
Preface
Index

Summary


In this chapter, we have learned why using a second thread within a GUI application can be beneficial. We have seen that large tasks can make the GUI look as if it has stopped responding, which can confuse users. After introducing a separate thread, we then eliminated this problem and made the application behave as a user would likely expect.

Using our new knowledge of threads, we then improved our chat application by allowing it to pull in new messages in the background, without disabling the GUI itself while doing so.

Afterwards, we increased the quality of our application by allowing the user to choose their own avatars. We learned how we can use the PIL module to resize and save images, removing any restrictions on the user in terms of choosing the correct avatar size, or the application developer in terms of accommodating any huge images the user may wish to use.

Finally, to improve the social aspect of our application, we added the ability for the user to choose which friends...