Yet another GUI toolkit question...

Kevin Walzer sw at wordtech-software.com
Sat Feb 11 12:00:07 EST 2006


Chris Mellon wrote:

> 
> If you're planning on selling an application, especially to OS X
> users, then Tk is absolutely out of the question. It doesn't have even
> the slightest resemblence to native behavior, and lacks the polish and
> flash that occasionally lets a non-native app get away with it. Given
> the limits you've stated, I believe your only options are wxPython and
> writting 2 guis using PyWin/PyObjC. The second option requires
> knowledge of the native tool sets for the respective platforms, so if
> you don't have that I can only suggest wxPython. If you're used to Tk
> you will face a learning curve, and you will need to look for or write
> replacements for the custom widgets you've been using.
> 

Do these screenshots look "non-native" to you?

http://www.wordtech-software.com/ireveal-mac.png
http://www.wordtech-software.com/ireveal-windows.png
http://www.wordtech-software.com/ireveal-linux.png

This application was developed in Tcl/Tk.

I think Tkinter is lagging behind Tk itself in terms of its advances
with theming and native look and feel, especially on OS X and Win XP.
Certainly a lot of Python developers don't seem well-informed about the
work that has been done to bring Tk back into the modern age. The
wrappers I mentioned above (some at a site that is offline but should be
back online shortly, I'm told) are bleeding-edge in Tkinter terms but
reflect work that started a couple of years ago in Tk. (The extension is
called "Tile" and will be part of the Tk core when it's released at v. 8.5).

That doesn't mean wxPython is out of the question. What I'm trying to
figure out is whether I will be up and running faster with Tkinter +
Tile (leaving me mainly to improve my proficiency with Python itself and
translate Tk into a Python idiom) or whether I should learn wxPython,
with its vastly different GUI paradigm, as well as Python.

If Tkinter + Tile + Bwidgets + Tablelist does the job, as I think it may
(and as it does with regular Tcl/Tk), then I will probably stick with
that. And perhaps I can then contribute some documentation somewhere on
how to use the Tile widgets in a Tkinter application, complete with
screen shots and working code for others to use. Such documentation is
sorely lacking right now.

The vast range of available GUI toolkits is one thing that partially
offsets Python's many virtues as a programming language. I realize I was
stepping into a fire swamp by even broaching the question. However, the
application I'm envisioning (accessing web services from a desktop GUI)
will benefit from the abundant Python libraries/wrappers that have
already been written, which are mostly lacking (or which would require
me to roll my own) in Tcl.


-- 
Kevin Walzer
iReveal: File Search Tool
http://www.wordtech-software.com



More information about the Python-list mailing list