Book Image

Tkinter GUI Application Development HOTSHOT

By : Bhaskar Chaudhary
Book Image

Tkinter GUI Application Development HOTSHOT

By: Bhaskar Chaudhary

Overview of this book

<p>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.</p> <p>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.</p> <p>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.</p> <p>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.</p>
Table of Contents (16 chapters)
Tkinter GUI Application Development HOTSHOT
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Limitations of Tkinter


We have already explored the power of Tkinter. Perhaps the greatest power of Tkinter lies in its ease of use and a lightweight footprint.

However, ease of use and lightweightiness of Tkinter also result in some limitations.

Limited number of core widgets

Tkinter provides only a small number of basic widgets, and lacks a collection of more modern widgets. It needs ttk, Pmw, Tix, and other extensions to provide some really useful widgets. Even with these extensions, Tkinter fails to match the range of widgets provided by other GUI tools, such as wxPython advanced widget set and PyQt.

For instance, wxPython's HtmlWindow widget lets the user display HTML content with ease. There have been attempts to provide similar extensions in Tkinter, but they are far from satisfactory. Similarly, there are other widgets from Advanced User Interface Library and mixins in wxPython, such as floating/docking frames, perspective loading and saving, and others, which Tkinter users can only hope to be included in future releases.

Tkinter supporters often tend to refute this criticism by citing how easily you can construct new widgets from a collection of basic widgets.

No Support for printing

Tkinter is rightfully criticized for providing no support for printing features. Compare this to wxPython, which provides a complete printing solution in the form of a printing framework.

No support for newer image formats

Tkinter natively does not support image formats such as JPEG and PNG. The PhotoImage class of Tkinter can read images only in GIF and PGM/PPM formats.

Although there are workarounds, such as using ImageTk and Image submodules from the PIL module, it would have been better if Tkinter natively supported the popular image formats.

Inactive development community

Tkinter is often criticized as having a relatively inactive development community. This is true to a large extent. The documentation of Tkinter has remained a work-in-progress for many years now.

A large number of Tkinter extensions appeared over the years, but most of them have not been under active development for a long time.

Tkinter supporters refute this with the logic that Tkinter is a stable and mature technology that does not need frequent revisions like some other GUI modules that are being newly developed.