More about Alcides Fonseca
Go Back

Python Universal GUI

Written by Alcides Fonseca at 2007/12/30

I’ve read a nice post on PythonLovers by Brett Cannon about wxPython and the lack of a good GUI approach in Python.

Last year I did some wxPython, pyGTK and TkInter, both cross-platform GUIs and none of them satisfied me. My final choice was wxPython thanks to wxGlade, a nice WYSIWYG form editor. However there is a great con to TkInter: wxPython needs a separated installer. But TkInter is so damn ugly!

I believe Python should change their approach on GUIs. I believe each python distribution should include the native wrapper for each target. Gnome Linux Dists would come with PyGTK, KDE ones with PyQT, MacOS with PyObjC (Which I believe it’s already included, or at least comes with Leopard) and Windows with… Python.NET (more on this in the next post). And then a Universal Wrapper that would allow programmers to write one single simple code (Shoes anyone?) that would run in all OSes. Almost a mix between PyGUI and TwilightGUI. And specific development would always be possible using the lower-level bindings.

I know that this has much more dependences on external code than the TkInter solution, but Python is no more a scripting language for hackers/sysadmins like PERL, but a full-featured language that is wanted to be used for all purposes. And along with a standard good package manager (like ruby’s gems), the GUI issue is one of the biggest disadvantages in Python. And Guido seems not to care much about it.