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

Chapter 5. Creating a Highly Customizable Python Editor

The next project we will be undertaking is a smart text editor for writing Python code. This text editor will have all of the features you would normally expect a text editor to have, including line numbers, a top menu bar, a right-click menu, various customizable key-bindings, a find/replace window, configurable syntax highlighting, and more!

Our first iteration will set up the foundations for our editor. We will start with the basic layout, some of the least complicated and familiar widgets, some key-bindings, and the creation of our find window.

In this chapter, we will cover:

  • Using themed ttk widgets instead of regular tk ones
  • Styling tk and ttk widgets
  • Handling a large amount of text with the Text widget
  • Scrolling with the Scrollbar widget
  • Tkinter's event system
  • Creating a second top-level window

With the increase in complexity of this new project, we should also ensure it looks as professional as possible. In order to improve the look...