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