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

Connecting our ChatWindow


The first thing to do with our ChatWindow is allow it to receive the username variable:

class ChatWindow(tk.Toplevel):
    def __init__(self, master, friend_name, friend_username, friend_avatar, **kwargs):
        ...
        self.friend_username = friend_username

You may be wondering why we need this variable here. The reason we will be requiring it is to help keep track of the conversation history.

There will be a separate database holding conversations between you and each individual friend, to make for very easy retrieval of the conversation history. This will, of course, require changes to our web service and, of course, our Requester will need to be updated too.

Let's begin with the necessary server adjustments to facilitate the conversation databases.

Updating our server to store conversations

As mentioned, each conversation will be contained to its own SQLite database. For easy organization, go ahead and create a folder named conversations inside your server folder...