Modern Tkinter for Busy Python Developers: Quickly learn to create great looking user interfaces for Windows, Mac and Linux using Python's standard GUI toolkit - Softcover

Roseman, Mark

  • 3.92 out of 5 stars
    24 ratings by Goodreads
 
9781999149567: Modern Tkinter for Busy Python Developers: Quickly learn to create great looking user interfaces for Windows, Mac and Linux using Python's standard GUI toolkit

Synopsis

This is the older 2020 edition (for Python 3.9). The fourth edition was released in 2025, updated for Python 3.14.

Revised, expanded, and all new material on structuring your code and using third party themes and widgets.

Quickly learn the right way to build attractive and modern graphical user interfaces with Python and Tkinter.

You know some Python. You want to create a user interface for your application. You don't want to waste time messing around with things you don't need.

Enter Tkinter.

It's built right into Python. Everything you need is included in the standard Python distributions. No extra downloads. Your Python and Tkinter scripts will work on Windows, macOS, and Linux.

Tkinter has a simple, clean, Pythonic API. It handles the tedious housekeeping needed in GUI programming. You can focus on what's unique in your application.

One HUGE Problem

Tkinter has been around for a very long time. There's a lot of documentation, much of it created years ago. Nearly everything in that documentation still works today.

But it's all wrong.

Tkinter has a reputation for ugly and outdated user interfaces that don't fit in with modern systems. And if you follow the old documentation, that's exactly what you'll get.

Tkinter has taken a quantum leap forward since all that documentation was written. There are new and better ways to build your user interface. Your program needs to be written differently to take advantage of that.

Modern Tkinter shows you the right way to do it.

You'll learn all the modern best practices. You'll build your user interface the right way the first time, without having to learn anything extra or irrelevant. It starts at the beginning, shows you what you need to know, and covers all the essential elements of building your modern user interface. This includes:

  • all the standard GUI widgets
  • attractively laying out your user interface
  • managing menus, windows, and dialogs
  • organizing more complex user interfaces
  • Tkinter's powerhouse widgets: canvas and text
  • customizing the look of your user interface
  • making it all work on macOS, Windows, and Linux

You may have been using older documentation or are updating a Tkinter program written years ago. If so, you'll find warnings of what to avoid using, and how to replace it with a modern solution. There's even a full case study of modernizing the user interface of a seriously out-of-date Tkinter application you may be familiar with.

Who this book is for

This book is for everyday Python programmers looking to quickly create desktop user interfaces. You may be new to Tkinter, or want to bring your knowledge up to date. You don't need to be an expert on OOP, MVC architecture, multithreading, or other advanced topics. In fact, you're not going to need any of those things to use Tkinter.

This book uses Python 3.9, but everything you learn will apply (with small tweaks) to any Python 3.x version.

Let veteran software developer Mark Roseman show you the right way to build user interfaces with Python and Tkinter. He's been using Tk (the technology behind Tkinter) since its early days. He's shipped dozens of open source tools and commercial applications based on it.

Contents

  1. Introduction
  2. A Brief History of Tk and Tkinter
  3. Installing Tkinter
  4. A First (Real) Example
  5. Tk Concepts
  6. Basic Widgets
  7. The Grid Geometry Manager
  8. More Widgets
  9. Event Loop
  10. Menus
  11. Windows and Dialogs
  12. Organizing Complex Interfaces
  13. Fonts, Colors, Images
  14. Canvas
  15. Text
  16. Treeview
  17. Styles and Themes
  18. Case Study: IDLE Modernization

"synopsis" may belong to another edition of this title.