Tkinter: The good, the bad, and the ugly!

rantingrick rantingrick at gmail.com
Thu Jan 20 16:52:29 EST 2011


On Jan 20, 3:06 pm, Emile van Sebille <em... at fenx.com> wrote:

> You might find this interesting...
> http://mail.python.org/pipermail/python-announce-list/2000-November/0...
> Yes, it's old.  That's part of the reason you get no traction on this.

Thanks Emile. This read was both hair raising and informative.
Following is the relevant Tkinter parts posted verbatim with my
comments sprinkled throughout...


> However, this process is still in its infancy, and the announcement
> caused much worrying in the Tcl/Tk user community about the
> language's future and its continued maintenance.  This affects
> Python because Tk, through the Tkinter module, is the most GUI most
> commonly used with Python.  Tkinter is included in the source
> distribution, it's the most extensively documented, and it's the
> most portable, supported on the Big Three platforms, namely Windows,
> Unix, and MacOS.

It seems at the time (a decade ago) fantasies abounded about the
importance of Tkinter. I find it highly unlikely that Tkinter was OR
IS the "Most commonly used GUI with Python". Maybe the most commonly
used GUI library for utilities, but that's about it

> Fredrik Lundh first posted a note about the announcement, and Eric
> S. Raymond raised the question of what this meant for Tkinter: "This
> raises anew a question I've been meaning to bring up for the last
> week: is it finally time to move away from Python's dependence on
> Tcl/Tk for GUI support?"

Yes (even a decade later!).

> People were split on this question, though Guido was receptive to
> the idea ("Yes, it may be time to have this discussion again.") and
> pointed out some reasons to stick with Tkinter: "Tk has two very
> high quality widgets: the Canvas and Text widgets are unsurpassed in
> functionality and robustness by other widget sets.

Not anymore Guido!

> You can draw
> more lines or characters per second in most toolkits, but few
> toolkits offer the convenience of marks and tags, not having to deal
> with refresh events, being able to group objects, move them around,
> change attributes, etc., etc., etc."

Thats a very weak argument. While i'll agree that the tagging system
employed by the TK::Canvas widget is helpful, the same functionality
can be reproduced by the programmer very easily. And i always prefer
to work with objects as opposed to tags because of the obvious
limitations.

> Greg Wilson's reaction was "Yes please", and he went on to explain
> what factors kept him using Tkinter for a recent course:
	http://www.python.org/pipermail/python-dev/2000-October/016757.html

Well that link is broken so we will never know what greg said?

> /F thought Tk was still a good choice, and said " ... and trust me,
> the Python 2.0/Tk8.4/Tkinter3000 combo will rock ;-)".  Tkinter3000
> is an improved Tk interface that /F has been working on, with  more
> flexibility and better performance.
> http://tkinter.effbot.org

Yea Frederic maybe Tkinter < exaggeration >"rocked the casba"</
exaggeration > in 2000, however we are building with steel and glass
now, not rock and stone.

> /F also hoped that the Tcl Core Team would become more receptive to
> making it easier to use Tk from other languages without Tcl having
> to be in the middle, which would let the maintainers of Tkinter and
> the Perl/Tk interface participate more in Tk's development.

Why in the world do WE -- THE Python community-- give two figs as to
how useful TclTk is to OTHER communities?

> Eric S. Raymond speculated about the success of Tcl's new
> development model: "Good for Tcl: Osterhout's rather lame attempts
> to develop under a mixed model have almost certainly come to an end
> in favor of an Apache-like model funded by big Tcl users."
> http://www.python.org/pipermail/python-dev/2000-October/016763.html
>
> Greg Ewing wondered if stdwin should be revived.  GvR and Raymond
> both thought that far too much work, and not productive of very good
> results.  "And stdwin would really look pathetic in this time", GvR
> observed.

Well Guido, just imagine how bad Tkinter will look in 10 years ;-)

> Python isn't tied very tightly to Tk, of course; well-maintained and
> reasonably complete bindings exist for many different GUI toolkits,
> such as Qt, GTk+, wxWindows, Windows MFC, and a few more.
> http://www.thekompany.com/projects/pykde/
> http://www.daa.com.au/~james/pygtk/     http://wxpython.org/
> http://http://www.oreillynet.com/pub/a/217

Well i'd have to disagree being that Tkinter is IN the STDLIB!!!!

> wxWindows is probably the most obvious second candidate, since it
> actually supports all of the Big Three platforms, and no other
> toolkit does.  Robin Dunn, author of the wxPython binding, posted to
> discuss the status of wxWindows on the Mac: "My understanding is
> that the version in CVS is nearly up to date with the features in
> the MSW and GTK versions, though I haven't had a chance to use it
> myself.  ... The next step I guess is getting it wrapped up in
> wxPython..."  http://www.python.org/pipermail/python-
> dev/2000-October/016764.html

Finally some sanity in this thread!

> There was no clear final decision, and my crystal ball didn't deign
> to give an answer.  Given all the uncertainties, it's probably best
> to wait and see.  If Tk's development continues to progress and
> becomes more open to languages other than Tcl, Tkinter will probably
> continue to be the most common Python GUI.

Thats ridiculous. Just because Tk becomes more open to other
developers (namely Perl, and Ruby) does not mean we should keep it
around for the same reason.

> If not, we can consider
> this question in another 6 months, which will give wxWindows and
> wxPython time to develop on the Mac platform.  And who knows?  Maybe
> something else will happen, such as Qt or GTk+ being ported to the
> Macintosh.

Yea, i'll bet the author did not expect what has happened.

 * Very slow if any advancement of Tk.
 * wxPython became rich GUI library.
 * Tkinter used only for utility and toy apps.
 * An apathy for Tkinter within the community.
 * and more



More information about the Python-list mailing list