[Python-3000] back with more GUI planning in a few days...

Paul Boddie paul at boddie.org.uk
Tue May 9 13:22:03 CEST 2006


On Tuesday 09 May 2006 02:42, Greg Ewing wrote:
> Paul Boddie wrote:
> > I think it would be
> > a bad thing if something in the standard library claimed to provide, or
> > just gave the vague impression of providing, a definitive solution for
> > all environments
>
> I would never claim that PyGUI provided a definitive solution
> for all environments (and as has been pointed out, no such
> claim is made for anything else in the stdlib either).

True: as noted, Tkinter only covers the "big three". However, even if we 
discard QNX, BeOS, OS/2, AtheOS, RISC OS and the Amiga as reasonable 
candidates for running any standard GUI, limiting our attention to the "big 
three", there's a lot of variation especially in the UNIX area that I feel 
needs to be addressed. Perhaps "definitive" should mean "substantially better 
than Tkinter", where this includes a "look and feel" appropriate to the 
target environment, theming, the possibility for bringing in appropriate 
dialogues without having to maintain lookalikes (or at least some kind of 
roadmap to better desktop integration, perhaps like PyGtk -> PyGNOME and PyQt 
-> PyKDE), and a huge list of features that would certainly put me off 
writing a GUI framework.

> First and foremost, I'm creating PyGUI because *I* want it,
> for programs that I write. The most important thing about
> PyGUI for me is the API. I've used quite a number of other
> Python GUI APIs, and I've never found one that wasn't too
> complicated or unpythonic or generally cruddy for my liking.
> I want an API that fits in my brain along with the rest of
> Python.

And, as I said, you should go for it!

> The next most important thing is to have it work easily on a
> reasonably wide range of platforms, so that I can share my
> programs with others without requiring them to jump through
> hoops to get them working.

And I can appreciate that. Indeed, there is a need for such an API beyond 
something like PyGame, and the controversy is limited only to a standard 
library context when people need more than what that API provides and have to 
think about how to advise them.

> I don't particularly mind whether it gets into the standard
> library. From my point of view it would be nice, but I'm
> happy to include it along with the applications I distribute
> if necessary. I'm hoping to keep it small enough to make
> that practicable.

My worry would be that if another toolkit were dropped into "pole position" to 
replace Tkinter, and then people ignored it just as much as they ignored 
Tkinter, choosing other toolkits, then this would involve a lot of 
maintenance to keep the replacement relevant (or to make it appeal to people) 
and a lot of education to steer people around the toolkit where it doesn't 
meet their needs. This last part is often underestimated, and as I mentioned 
a few times, you see the effects in the Web development subcommunity where an 
arguably less ambitious standardisation effort has given way to seeing who 
can shout the loudest, rather than people giving up a fraction of their 
shouting time to contribute to a coherent overview of where all the solutions 
fit together.

[...]

>  > what if I want to write a GNOME application; which
> >
> > language should I choose?
>
> This is more or less the opposite question to the one
> PyGUI addresses, which is: I want to write a GUI application
> in Python -- what toolkit do I use? PyGUI's answer is:
> Use one that's specifically designed for writing GUI
> applications in Python.

And I don't have a problem with that. I was merely pointing out that people do 
have other motivations for considering Python plus a GUI library and that 
Python isn't exactly well-promoted in official circles to appeal to such 
people. It's continuously surprising to me where Python shows up, yet you 
wouldn't hear about many of these solutions in comp.lang.python and the 
related mailing list universe, mostly because people there are thinking about 
Python foremost with the environment as an afterthought, if that. Python was 
once described as a glue language, but sometimes I wonder if the tube is 
blocked up.

> Such a thing currently does not exist. That is what
> PyGUI is meant to be.

I'll leave that point for others to contend. ;-)

Paul


More information about the Python-3000 mailing list