Book Image

Python GUI programming with Tkinter

By : Alan D. Moore
Book Image

Python GUI programming with Tkinter

By: Alan D. Moore

Overview of this book

Tkinter is a lightweight, portable, and easy-to-use graphical toolkit available in the Python Standard Library, widely used to build Python GUIs due to its simplicity and availability. This book teaches you to design and build graphical user interfaces that are functional, appealing, and user-friendly using the powerful combination of Python and Tkinter. After being introduced to Tkinter, you will be guided step-by-step through the application development process. Over the course of the book, your application will evolve from a simple data-entry form to a complex data management and visualization tool while maintaining a clean and robust design. In addition to building the GUI, you'll learn how to connect to external databases and network resources, test your code to avoid errors, and maximize performance using asynchronous programming. You'll make the most of Tkinter's cross-platform availability by learning how to maintain compatibility, mimic platform-native look and feel, and build executables for deployment across popular computing platforms. By the end of this book, you will have the skills and confidence to design and build powerful high-end GUI applications to solve real-world problems.
Table of Contents (23 chapters)
Title Page
Copyright and Credits
Dedication
Packt Upsell
Contributors
Preface
Index

Designing the application


With our specification in hand and our requirements clear, it's time to start designing our solution. We'll start with the form GUI component itself.

We're going to create a basic design for our form in the following three steps:

  1. Determine the appropriate input widget for each data field
  2. Group together related items to create a sense of organization
  3. Layout our widgets in their groups on a form sheet

Exploring Tkinter input widgets

Like all toolkits, Tkinter offers a variety of input widgets for different kinds of data. However, ttk offers additional widget types and enhances some (but not all!) of Tkinter's native widgets. The following table offers advice on which widgets are most appropriate for different kinds of data entry:

Widget

Description

Used for

ttk.Entry

Basic text entry

Single-line strings

ttk.Spinbox

Text entry with increment/decrement arrows

Numbers

Tkinter.Listbox

Box with a list of choices

Choice between several values

Tkinter.OptionMenu

Drop-down list with choices

Choice...