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

Packaging applications


In order to easily share our applications with other users, we need an easy way for people to obtain and install them. Different operating systems will require different ways of accessing the needed libraries in order to run an application, and so the process for packaging them will likely vary slightly.

We will explore the world of Python application packaging using our text editor from chapters 5 - 7. Our goal will be to have it execute on three operating systems – Windows, Linux, and macOS. To package this application, it needs a name. I will be calling it tkedit for demonstration, but, if you have a better name, feel free to use that instead.

Before we can ship this file to work on all OSes, we need to adjust the folder structure. Recall that we were using local folders named schemes and languages, which lived inside the main folder for the editor. This will not translate when the application is packaged; so, we will need to hold our YAML files in the user's home...