Author: Bhaskar Chaudhary
Publisher: Packt Publishing
Audience: Intermediate Python developers
Reviewer: Mike Driscoll
Books on Tkinter are rare and this is a welcome addition to the Python bookshelf.
There aren’t very many Tkinter books in existence, which is something I’ve always found a little odd as it is the GUI toolkit that is included with Python. Basically you have Grayson’s Python and Tkinter Programming from 2000 or Roseman’s Modern Tkinter for Busy Python Developers from 2012 which I also reviewed. There are other books that include Tkinter programming (like Core Python or Programming Python, but those texts are not Tkinter focused books. This brings us to Bhaskar Chaudhary's Tkinter GUI Application Development Hotshot, the third book about Tkinter in the its 13-year history and I first encountered it as a technical reviewer for Packt Press.
Being a technical reviewer of the book and then reviewing the book from the standpoint of the reader can be difficult. Packt likes to hire international programmers to write their books with mixed results. Some of the books end up being really good and others falter or fail entirely because of the language gap. In this case, while English is obviously not the author’s first language, he did a pretty good job overall. This book teaches its readers how to use Tkinter by example. It is not a book for Python beginners, but it is a good book for Tkinter beginners and Tkinter intermediates.
The book is split up into Projects instead of chapters. There are seven projects and two appendices. The first project is basically an introduction to Tkinter. The second one is creating a simple text editor, like Notepad. Project 3 covers a programmable drum machine. In Project 4, you learn how to create a Chess game. For Project 5, you create an audio playing application. Project 6 is a drawing application kind of like Paint. The last project chapter actually covers several mini projects, from creating a screen saver, to building a game, to graphing and several other fun activities.
I personally really enjoyed learning how to make the various applications and games. The variety and creativity are evident and I was surprised how short the programs ended up being. I think I liked the drum machine project the best just because of how unique it was and also because I’ve been a big fan of electronic music for long time. The chess game was also really interesting in how the author structured the program and set up its logic.
Even if I hadn’t been one of the people who helped the author with this book, I believe I would have been happy with my purchase. There are just so many neat ideas here. When I was reading the chapters I was constantly thinking about how I would like to try this idea or that one in wxPython or PySide to see how they would compare. So if you are looking for some ideas for your first GUI project, regardless of which toolkit you normally use, I would recommend this book. I would also recommend it to anyone wanting to learn Tkinter.