Python GUI Programming with Tkinter

Author:  Alan D. Moore
Publisher: Packt Publishing
Pages: 452
ISBN: 978-1788835886
Print: 1788835883
Kindle: B079HZPS7K
Audience: Python Programmers
Rating: 3
Reviewer: Alex Armstrong

Tkinter is Python's standard GUI toolkit and yet not everyone seems to think it's the one to go with. Can this book convince?

A language like Python needs a GUI framework because it is very likely to be used to create more than just command line or server programs. Tkinter is the GUI framework bundled with Python and it is the one that is used to create IDLE, the default Python IDE. Mind you IDLE isn't very impressive and this might be the reason why many look elsewhere for a GUI toolkit. The problem is that once you look beyond Tkinter you have to deal with licensing issues and which one to use can be a difficult decision. There is no doubt that if you just want to implement a fairly standard application with a few buttons and fields then Tkinter is worth considering and Python GUI Programming with Tkinter does a reasonable job of explaining how it all works.


Chapter 1 gets you started fairly quickly with a Hello World example. My only complaint is that it doesn't make enough of the idea of the event loop. Most beginners find it baffling that the main program just seems to end but the running program doesn't.

Chapter 2 is probably in the wrong place. If you are an eager beginner wanting to know about Tkinter then you probably don't want to read about designing a GUI complete with user requirements.


Chapter 3 gets more into using Tkinter with an example project you slowly work through the elments of building a form using the standard widgets. From here we start steady progress though the different features of Tkinter. - validation, structuring a big app, menus, dialogs, and styles and themes.

Chapter 9 breaks off the exploration of the core Tkinter and tackles how to stay cross platform - Windows, Mac and Linux. From here on the chapters deal with general programming tasks customized for Tkinter. Chapter 10 deals with testing, 11 with SQL; 12 with "the cloud", 13 is about asynchronous programming, 14 is about the Canvas widget and graphics and 15, the final chapter is on packaging your app.

I think I would rather have had more about asynchronous programming earlier as a Tkinter app is essentially, and unavoidably asynchronous. You may be able to avoid asynchronous issues when programming in general Python, but not when using Tkinter.

This is a book that explains Tkinter by example. If you are prepared to work your way through the examples you should end up knowing about Tkinter. However if you already know a GUI framework, even just HTML and JavaScript, then it is going to be a bit tedious. The book doesn't home in on the gotchas or the unexpected and unexplored regions of Tkinter. In particular, it doesn't say anything much about creating new custom widgets. Why fill the book with material on testing and so on when there are lots of directly Tkinter topics to cover? You also need to know that the book is heavily biased towards using MVC and "proper" approaches to coding. If you are going to be doing Tkinter projects professionally then this is a good feature, but it you are just trying to get to grips with the Tkinter library and what it can do for you then this will seem so much over-complication.

This is not a great book nor is it a bad book. For the right reader, steady, methodical and knowing enough Python and GUI principles, it would serve a purpose. If you want a rapid guide to the basic principles of Tkinter and have your attention drawn to anything difficult then you might want a different book - this one doesn't stray from the well worn path.


For recommendations of Python books see Books for Pythonistas and Python Books For Beginners in our Programmer's Bookshelf section. 

To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.


Expert Performance Indexing in SQL Server 2019

Author: Jason Strate
Publisher: Apress
Pages: 615
ISBN: 978-1484254639
Print: 1484254635
Kindle: B0825PBF8R
Audience: Performance DBAs/Developers
Rating: 4.5
Reviewer: Ian Stirk 

This book discusses indexes, a primary means of improving performance in SQL Server, how does it fare? 

Machine Learning with PyTorch and Scikit-Learn

Author: Sebastian Raschka, Yuxi (Hayden) Liu & Vahid Mirjalili
Publisher: Packt
Date: February 2022
Pages: 770
ISBN: 978-1801819312
Print: 1801819319
Kindle: B09NW48MR1
Audience: Python developers interested in machine learning
Rating: 5
Reviewer: Mike James
This is a very big book of machine le [ ... ]

More Reviews

Last Updated ( Thursday, 27 September 2018 )