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

rantingrick rantingrick at gmail.com
Thu Dec 30 22:06:57 EST 2010


On Dec 30, 7:54 pm, Katie T <ka... at coderstack.co.uk> wrote:

> It's very hard to write a good gui framework, very very few people
> have managed to do it well.

This is a very good point Katie. Creating a Python GUI is a huge
undertaking and it will take much time to work out the bugs. A truly
Pythonic GUI may be (i must admit) a pipe dream at this time. However
i know that unless we start thinking about something new right now, it
will be two, three, ten years down the road and we will be in the same
situation.

A lot of folks are probably thinking that since Python3000 is here
that Python is up to current technology but i must differ with that
opinion. Yes Python3 is much better than the 2.x line however Tkinter
and IDLE are so dated and antique that Py3000 is a bit lackluster.

Look, when Guido breathed life into Tkinter many years ago he did so
with good intentions. I believe at that time (and for a while after)
Tkinter was an asset to this community. However, now Tkinter just
looks old and dumpy.

Actually i would't mind keeping Tkinter and just tweaking it a bit but
that is impossible! There will always be a glass ceiling between us
and Tcl. We are confined from the Tcl folks and there is nothing we
can do about. Tkinter has had a decade to become more relevant in the
21st century however the Tcl folks have failed to deliver. We cannot
keep depending on outsiders, we must start the transition to something
better.


> There's not the expertise or the investment in the Python community to
> build a strong Python GUI solution. From an educational viewpoint I
> see that there could be value in having a pure Python solution, but in
> terms of having a GUI solution that people will actually want to use
> in their apps, I'm dubious that it's achievable.


Also a good point Katie. But i think i have just a little more
optimism than you :).

I will conceded that if we cannot build a truly Pythonic GUI then we
must at least pick a GUI that is up to date with Python3000. A good
choice might be a limited version of wxPython in the stdlib and a 3rd
party extension module available for download. We can use Tkinter as
the template. All you need in the stdlib are the same widgets that are
in Tkinter now. However unlike Tkinter, now a rich 3rd party module
will be available. By doing this we will have removed the glass
ceiling, and we did not have to re-invent the wheel to do it.

What is your opinion (or anyone) on wxPython?




More information about the Python-list mailing list