Tkinter GUI Application Development HOTSHOT and over 2 million other books are available for Amazon Kindle . Learn more

Sign in to turn on 1-Click ordering.
More Buying Choices
Have one to sell? Sell yours here
Sorry, this item is not available in
Image not available for
Image not available

Start reading Tkinter GUI Application Development HOTSHOT on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Tkinter GUI Application Development Hotshot [Paperback]

Bhaskar Chaudhary
3.5 out of 5 stars  See all reviews (2 customer reviews)
RRP: 27.99
Price: 25.57 & FREE Delivery in the UK. Details
You Save: 2.42 (9%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In stock.
Dispatched from and sold by Amazon. Gift-wrap available.
Want it Sunday, 3 Aug.? Choose Express delivery at checkout. Details


Amazon Price New from Used from
Kindle Edition 12.95  
Paperback 25.57  

Book Description

25 Oct 2013 1849697949 978-1849697941

Develop exciting and engaging GUI applications in Python and Tkinter by working on 10 real-world applications


  • Develop 10 real GUI applications using procedural and object-oriented styles
  • Write network programs, database-driven programs, multi-threaded programs and more with Tkinter
  • A practical guide to discover the best practices involved in writing GUI applications

In Detail

Tkinter is the built-in GUI package that comes with standard python distributions. This means it is easy to get started right away, without any extra installation or configuration. Tkinter's strength lies in its simplicity of use and its intuitive nature which makes it suited for programmers and non-programmers alike. Once you get started, you will be surprised to see how a few lines of code can produce powerful GUI applications.

Tkinter GUI Application Development Hotshot helps you learn the art of GUI programming - building real-world, productive and fun applications like text editor, drum machine, game of chess, media player, drawing application and many more. Each subsequent project builds on the skills acquired in the previous project. Also, learn to write multi-threaded and multi layered applications using Tkinter. Get to know modern best practices involved in writing GUI programs. Tkinter GUI Application Development Hotshot comes with a rich source of sample codes that you can use in your own projects in any discipline of your choice.

Starting with a high level overview of Tkinter that covers the most important concepts involved in writing a GUI application, the book then takes you through a series of real world projects of increasing complexity, developing one project per chapter. After you have developed five full projects, the book provides you with some bare-bone skeleton codes for a few functional but incomplete projects, challenging you to put your skills to test by completing them.

Finally, you are provided with tips for writing reusable, scalable, and quality GUI code for larger projects. The appendices provide a quick reference sheet for Tkinter.

What you will learn from this book

  • Structure your programs in the model-view framework
  • Persist your application data with object serialization
  • Work with external libraries and Tkinter extensions
  • Write multi-threaded GUI programs
  • Re-factor code at every stage of application development
  • Integrate your GUI applications to backend database
  • Use networking with your Tkinter program
  • Apply Internationalization to your GUI applications
  • Develop a GUI program framework for maximum code reuse and rapid application development


Practical, real-world example projects. Start with the topics that grab your attention or work through each project in sequence.

Who this book is written for

If you have just started with GUI programming, this book is ideal for you. This book is also great if you are an experienced software developer, scientist, researcher, engineer, student, or hobbyist.

Frequently Bought Together

Tkinter GUI Application Development Hotshot + Programming Python
Buy the selected items together
  • Programming Python 40.99

Product details

  • Paperback: 362 pages
  • Publisher: Packt Publishing (25 Oct 2013)
  • Language: English
  • ISBN-10: 1849697949
  • ISBN-13: 978-1849697941
  • Product Dimensions: 1.9 x 18.8 x 23.1 cm
  • Average Customer Review: 3.5 out of 5 stars  See all reviews (2 customer reviews)
  • Amazon Bestsellers Rank: 795,631 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, and more.

Product Description

About the Author

Bhaskar Chaudhary

Bhaskar Chaudhary is a professional programmer and information architect. He has almost 9 years of consulting, contracting, and educating experience in the field of software development. He has worked with a large set of programming languages on various platforms over the years.

He is an electronics hobbyist and musician in his free time.

Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

4 star
3 star
1 star
3.5 out of 5 stars
3.5 out of 5 stars
Most Helpful Customer Reviews
1 of 1 people found the following review helpful
2.0 out of 5 stars A good idea, executed poorly. 8 Feb 2014
By robc
Format:Paperback|Verified Purchase
I really wanted to like this book. It's project based format was the perfect motivator for learning Tkinter. With a few more months and a good edit, it could have served as a nice introduction to the topic. Sadly it is a good idea for a book, poorly executed.

The code samples (that you will need to download from the book's website) are poorly written, lack consistency, and contain errors (some of which are even warned against in the various tips that pepper the books pages).

One of the projects depends on a library that no longer seems to be under development, and no version information is given.

The book promises 10 projects, but there are in fact only 5. The remaining 5 are introduced as ideas in the final chapter.

In general the book feels rushed; something not helped by the first appendix, which should have been a chapter in its own right (as it covers some important subject matter).

It's a shame, as the book does a good job of getting you stuck into Tkinter coding. I found myself relying more on the TK docs than the book as I made progress, and felt little inclination to return to it.
Comment | 
Was this review helpful to you?
5.0 out of 5 stars A Breath of Fresh Air 9 Dec 2013
Format:Paperback|Verified Purchase
Considering that to my knowledge (with the exception of a couple of very Good Kindle books on the subject) this is the first paperback book that has been printed on the sibject of tkinter and is a breath of fresh air. I have been struggling for weeks in my attempt to use tkinter and only tkinter on a project of mine and sadly in spite of Python growing in popularity there is little or no help out there on the subject. Even the internet had little to offer with the exception of a couple of good websites. I would therefore recommend this book to anyone wishing to use tkinter!
Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on (beta) 4.2 out of 5 stars  13 reviews
11 of 11 people found the following review helpful
3.0 out of 5 stars Good big picture view of Tkinter, some problems in details, overly Windows specific 30 Nov 2013
By Michael Barber - Published on
Packt provided me a complimentary ebook copy of the book for review purposes. This was in response to some concerns I had about whether the book was overly focused on Windows; I'll address that below as a part of my review.

Tkinter GUI Application Development Hotshot is an introduction to Tkinter, requiring no previous experience with Tkinter but some experience with Python. The book is structured as a series of projects, nominally with each chapter being a distinct project. The first chapter is actually a collection of small examples showing how key elements of Tkinter work, chapters 2 through 6 each describe a separate application in detail, and chapter 7 describes several smaller applications more briefly. There are two appendices as well, the first of which ("Miscellaneous Tips") pretty clearly should have been the final chapter of the book; the conclusion of the book is actually in this appendix. The second appendix constitutes a short Tkinter reference. Support code for the projects can be downloaded from Packt, and really must be downloaded, as the programs are wisely not presented in full in the book for each change to the application.

The approach of the book is to give a big picture view of Tkinter in the first chapter, describing its structure of widgets, geometry management, events and callbacks, and using Tkinter variables to provide communication between the widgets and your program. The later chapters then introduce different types of widgets and techniques for structuring GUI applications made in Tkinter. It is at this big picture level that the book seems to be strongest. The author doesn't attempt to be encyclopedic, so there was a suitable focus on the relevant ideas, rather than details that can be checked in reference material.

Turning to more specifics, some flaws become apparent in the book. Despite a generally clear text, there are several points where formatting problems or lack of clarity cause confusion. A particularly unfortunate example of this is found in the discussion of callbacks in the first chapter: due apparently to incorrect indentation, the example of how to define a callback is nonsensical. It's followed by mention of using lambda functions to deal with callbacks that take arguments, but the syntax given for lambda functions is wrong. There are several other instances in the text where general examples have misleading or flatly incorrect presentations, sometimes in quite important sections, such as the description of the general form of widget instantiation (chapter 1) and the specification of tags to be used with indexing in the Text widget (chapter 2). I don't think experienced Python programmers would have much trouble with any of these, but beginners might.

One of the strengths of Tkinter is that it is cross-platform, portable across operating systems. The author note this strength, but develops everything on Windows 7, claiming that "since Tkinter is truly cross-platform, you can follow along on Mac or Linux distributions without any modifications to our code." As Tkinter's cross-platform nature is an important part of why I'm considering using it, I decided to test the claim by working along exclusively on my Mac while using the same Python and Tcl/Tk versions as the author.

The claim is flatly untrue.

Most of the projects have visual issues, and several don't work correctly. Buttons resize differently, so example of the pack geometry manager is rather confusing, and there isn't a clear discussion of how it works outside this example. The text editor in the second chapter just has display issues, but these include such things as wrapped lines leading to hidden characters and the line numbering being incorrectly sized so that the lines are, effectively, numbered wrong. A short sample program in the second chapter tries to illustrate how different types of top-level windows should behave, but their described behavior isn't observed. Mouse buttons numbering and appropriate modifier keys for keyboard shortcuts are platform specific, but without any discussion of this in the book.

The third chapter (which is available as a sample on the Packt site), presenting a drum machine application, is a complete disaster. It depends on a third-party module called pymedia. This appears to be dead, not having been updated since 2006. It is claimed to work with Windows and Linux, but not Mac OS X or other Unix systems. It's not in Homebrew. Searching for build information is not promising. Trying to build it doesn't work. Just considering the interface isn't much better. The author uses an array of buttons to set the drum patterns, registering button presses to manually set the states of the beats in the pattern. With the Mac versions of the widgets, the author's code doesn't correctly color the buttons to show the pattern, so you can neither see nor hear the pattern. And this because the author fakes a widget with two states using buttons, rather than using a checkbox which actually has two states.

The chess program in chapter 4 seems to work fine. The audio player in chapter 5 does not, raising a type error in a division. This uses pyglet to actually play the audio files, but a function that needs to return a number instead returns None. Whether this is due to a platform dependency or due to a difference in the pyglet version I installed (with pip) compared to the unspecified version the author used, I do not know (and by this point in the book, was not inclined to try to figure it out). The drawing program in chapter 6 seems to work, more or less. I didn't try the applications in chapter 7.

The author seems to have taken the approach that if it works on his system, it must be right. But it isn't right if you take cross-platform function as part of working right, and platform dependence is only addressed in the most cursory of fashions.

Overall, the value of the book seems likely to depend strongly on the systems you want to work on. I'd probably give the book 4 stars if you just care about Windows, and maybe 2 stars if you want to produce something cross platform. So I'll give it three stars overall: a useful overview of Tkinter that fails to adequately treat an important use case. I have not tried the programs on Linux; I'd advised Linux users to try out the sample code and compare the results to what previews are available.
6 of 6 people found the following review helpful
4.0 out of 5 stars Slightly Flawed but Useful Nonetheless 24 Feb 2014
By Zippy - Published on
Format:Kindle Edition
In any great piece of software, 90 percent of the effort goes into crafting a great Graphical User Interface (GUI).

There are a surprising number of GUI packages for Python, such as WxPython and PyQT. Tkinter, however, is the “standard” GUI toolkit included with any distribution of Python, so anything shedding light in this area is always welcome, particularly a book such as this one, that presents a series of projects serving as “object lessons” (forgive the pun).

Working exclusively in the Windows environment, and having familiarity with Python, I haven’t encountered many of the problems described by others in their reviews of this book, or else have just corrected them on-the-fly when typing in and/or downloading and running/debugging the code. (Some of these will probably confuse novice programmers, but I’m sure these errors will be corrected in future editions.)

The web is littered with partial or failed attempts at text editors; they are a lot more tricky than they appear to the casual observer. The "Making a Text Editor like Notepad" project in this book one of the best I’ve seen yet. It has event handling features, accelerator key shortcuts and an icon toolbar. It's not something to challenge Microsoft Word by any means, but it's a nicely designed and suitably documented foundation for anybody wanting to build a unique application on top of it.

What really interests me, however, is the chess program. Again, “pieces” of python-based chess programming can be found on the web, but this takes the problem head-on. Python has a great future ahead of it in the world of artificial intelligence, and it is already making inroads in the sciences, where it is giving the “R” language a run for its money. Chess is one of those obligatory AI programs that computer science students find themselves writing at some point in their studies.

In short, there is no single book that will fully educate you about Tkinter and its relationship to Python. Even so, this book, despite its flaws, should be in your library.
2 of 2 people found the following review helpful
4.0 out of 5 stars Great Introduction 23 Feb 2014
By Ryan Backman - Published on
I was provided a preview of the book by packt.

I found this book to be very well structured and well paced book. Most technical books I have read are quite dry and uninteresting unless you have a very specific need or goal in mind. Reading this book as someone merely interested in deepening my knowledge of Tkinter was no chore at all.

The book starts out with a nice summation of the basic pieces of Tkinter and delves into more complex areas through a series of projects. Each project takes you to a different area of Tkinter and walks you through some pretty technical explanations in a very practical way. Example code is provided and you can download all of it from the publishers website. I loved the suggestions provided at the end of each project to expand the functionality and scope of each project. I did not take the opportunity to actually create each project, so I cannot speak to how complete or functional the code actually is. Nonetheless, I appreciated many of the tips provided, both in the realm of Tkinter and in python.

While easy to read and full of great information, I did find the lack of discussion of some of the difficulties I have had with Tkinter frustrating. While Tkinter is cross platform, there are nuances and differences between systems that I have experiences which have no mention in the book. I was also hoping for a more advanced and specific approach to how to adhere to a MVC pattern.

This is a great beginner book to read before you delve into Tkinter, but additional resources will be needed to round out and work through some of the trickier parts of Tkinter.
1 of 1 people found the following review helpful
5.0 out of 5 stars Most complete book on Tkinter - Useful for beginner and expert programmers 22 Feb 2014
By Giovanni R - Published on
Format:Kindle Edition
Being a beginner in programming, I was at first a little bit intimidated by the idea of reading a very specialistic book. I was pleasantly surprised when I realized that this book about Tkinter is extremely helpful and an easy reading both for the expert programmer and for the beginner as I am.
Tkinter is the GUI module that comes already installed with Python, so it is probably the first GUI a Python programmer comes across.
To learn how to use it, there were only a few online resources, but nothing really exhaustive. So, this is the first complete and detailed book about one of the most important tools of Python.
Only prerequisite to be able to use the book is a basic knowledge of the Python language, you don't even need to be familiar with Tkinter because the author starts from the very beginning.
The structure of this work is extremely interesting and practical at the same time.
We have seven chapters, called "projects", plus two appendixes, one with a bunch of useful tips and the other one with a highly needed complete reference.
The chapters are called projects because this is what they are: extremely practical and concrete projects that the reader is led to realize and understand.
The first project is a general introduction to the basics of Tkinter: it guides the reader through the main concepts of the GUI, the most important widgets, the different ways to place them in the main window and the use of events and callbacks. It is by far the best and clearest introduction you could find to Tkinter.
Starting from the second "project" we are guided, step by step, through the realization of very practical softwares; at the end of each chapter we will have a working software and, at the same time, we will have a deeper knowledge of Tkinter.
The projects are of different kinds, we have a text editor, a programmable drum machine, a chess game, an audio player, a drawing application and, in the last one, some ideas for different projects, like a phonebook, a snake game etc.
As you can see, the different projects can accomodate different interests that the reader may have while approaching the world of GUI.
All the projects are explained with full code, that the reader can download from the website [...].
The book is available in paper or in any digital form may best suit the reader.
1 of 1 people found the following review helpful
5.0 out of 5 stars Give it a try! 16 Feb 2014
By Luis Mejias - Published on
Best Tkinter book I have read so far. The book presents several hands on projects for different domains. Source code is Python 2.7 oriented but it can easily be ported to Python 3.3. I definitively recommend it to anybody who wants to give Tkinter a try.
Were these reviews helpful?   Let us know
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
First post:
Prompts for sign-in

Search Customer Discussions
Search all Amazon discussions

Look for similar items by category