GUIs - A Modest Proposal

Kevin Walzer kw at codebykevin.com
Sun Jun 6 18:49:16 EDT 2010


On 6/5/10 10:22 PM, ant wrote:
> I get the strong feeling that nobody is really happy with the state of
> Python GUIs.

Says who?

> Tkinter is not widely liked, but is widely distributed.

I'm a strong advocate of Tkinter--there is very little that it cannot do.

WxPython and
> PyGtk are both
> powerful, but quirky in different ways. PyQt is tied to one platform.
> And there are
> dozens more.

Each has its strengths and weaknesses. They reflect the diversity of GUI 
programming in general.

>
> Whether or not we like graphics programming, it's not going to go
> away. I get the
> uneasy feeling whenever I start a new project that there should be a
> 'better' GUI
> than the ones I currently use (WxPython and PyGtk).

That's debatable. These other toolkits have a decade or more of 
development behind them. How are you going to improve on them?
>
> Fragmentation is our enemy. Our resources are being dissipated. Is it
> not time to
> start again? We have shown that it is possible to do the right thing,
> by creating Python3.

I'd say no. I used to be frustrated with the range of GUI options for 
Python, but the issue was just to get started. I found Tkinter to be 
useful for me, I was productive in it, and I have stayed with that.

>
> I ask the group; should we try to create a new GUI for Python, with
> the following
> properties?:
>
> - Pythonic
> - The default GUI (so it replaces Tkinter)
> - It has the support of the majority of the Python community
> - Simple and obvious to use for simple things
> - Comprehensive, for complicated things
> - Cross-platform
> - Looks good (to be defined)
> - As small as possible in its default form
>
>
These goals are not all complementary. In fact, some of them, such as 
"small" and "comprehensive," are mutually exclusive. Tkinter is pretty 
small; people complain it lacks things. PyQt and wxPython are pretty 
comprehensive; people complain about their learning curve.

The very diversity of GUI toolkits came into effect because Python is 
very easy to extend and integrate with other C/C++ libraries. Writing a 
GUI toolkit from scratch is much, much harder. Even a simple toolkit 
like Tk has twenty years of developer-hours behind it. Do you really 
think the Python community will be able to a) agree on the design of a 
new toolkit to replace Tkinter and b) implement the code in a timely 
fashion across multiple platforms? It sounds like an impossible goal to me.

--Kevin

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



More information about the Python-list mailing list