People still using Tkinter?

Kevin Walzer kw at codebykevin.com
Sat May 10 11:31:37 EDT 2008


Kenneth McDonald wrote:
> Any guesses as to how many people are still using Tkinter? And can 
> anyone direct me to good, current docs for Tkinter?
> 
> Thanks,
> Ken

I develop Tk applications commercially on Mac OS X, using Tcl and 
Python. Here's a screenshot of my Python app:

http://www.codebykevin.com/phynchronicity-running.png

This app is built on Python 2.5.1 and Tk 8.5.0. Tk 8.5 has a huge number 
of improvements over older versions of Tk:

http://www.tkdocs.com/resources/backgrounder.html

Most importantly, Tk 8.5 has a themed widget set that allows for 
platform-native appearance on Windows and Mac (not emulated, but hooking 
into system API's). The themed widget set also adds a lot of new 
widgets, such as combobox, tree, and others. The older widget set is 
still available as well and they can be freely matched. Tk also has a 
lot of lightweight, script-level widget libraries that can also enhance 
the appearance and usability of your app.

My own app uses widgets from Tk's traditional set, the new Tile/ttk set, 
the Tabelist widget, and the BWidget widget library. It uses the 
following Python wrappers for these widgets:

http://tkinter.unpy.net/wiki/TileWrapper
http://tkinter.unpy.net/wiki/TableListTileWrapper
http://tkinter.unpythonic.net/bwidget/

It also uses a few private wrappers/custom widgets.

In addition to the Python-specifc resources that others have provided, 
here's a new site that documents the latest-and-greatest Tk techniques, 
including Tile/ttk:

http://www.tkdocs.com/

The developer of this site is mainly interest in Tcl and Ruby, so 
examples of those are provided--I may provide some Python examples at 
some point. But there should be enough code snippets there for you to 
get started, especially if you already have some experience with 
Tk/Tkinter.

Tk still has some limitations, including a lack of cross-platform 
printing support (the canvas widget generates postscript, but that's not 
enough anymore) and an incomplete cross-platform drag-and-drop mechanism 
(works fine on Windows, it's buggy on *NIx because Xdnd is so 
inconsistent, and it was never developed for OS X). If you absolutely 
need these features, look at wxPython or PyQt. But coming to Python from 
a Tcl background, I'm very comfortable with Tk--it is lightweight, 
extremely flexible, and (as I hope you can see from my screenshot) it's 
possible to do sophisticated user interfaces with it. It fits my brain 
much better than wxPython, for instance. And the long effort by Tk's 
developers to modernize its appearance has finally paid off, I think.

Hope that helps,
Kevin

-- 
Kevin Walzer
Code by Kevin
http://www.codebykevin.com



More information about the Python-list mailing list