[Tkinter-discuss] What do you feel is missing from Tkinter?

Kevin Walzer kw at codebykevin.com
Sun Dec 19 05:55:21 CET 2010


On 12/18/10 9:26 AM, python at bdurham.com wrote:
>
> Here's my short list of Tkinter weaknesses that I've struggled with:
>
> 1. Drag and drop. In fairness, there's a Tkdnd library and a bunch of
> sample code on the internet. I haven't studied the examples I've
> collected enough to figure out a simple, reusable way to do this. (Most
> of my use cases are simply finding a way for users to re-arrange a row
> of widgets packed or grided into a container)

The cross-platform binary TkDND extension by George Petasis (ably 
wrapped for Python by Michael Lange) is an obvious choice here, but 
Tkinter also has its own built-in tkdnd module, based on the canvas 
widget, which is useful for simple things.  It's not used much as far as 
I can tell, but here is some documentation for it.

http://www.bitflipper.ca/Documentation/Tkdnd.html

>
> 2. Ability to dynamically stretch and image in real-time. What I would
> like to do is create widgets with a gradient background where the
> background image stretches as the widget itself is resized.

PIL might help with this, I don't know.
>
> 3. Creating scrolling containers (I've been spoiled with Tkinter's
> automatic layouts and don't look forward to manually placing widgets).

Doesn't PMW have some sort of scrolling widget container?
>
> 4. A way to show an auto-complete popup when one types in a Text widget.
> There's an example of how to do this in the IDLE source code, I just
> haven't looked for it yet.

Yes, you can probably look at IDLE as a good source for this.

My gripes with Tk:

1. Lack of a cross-platform printing solution. Every other 
cross-platform toolkit does this, but no one has done it for Tk.

2. Lack of a modern HTML widget or an easy-to-use, cross-platform way of 
wrapping one of the major browser platforms (Gecko, Webkit, IE). Lots of 
partial solutions, but nothing that abstracts the platform differences 
and presents a single API.

--Kevin

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


More information about the Tkinter-discuss mailing list