<p>I&#8217;ve read <a href="http://sayspy.blogspot.com/2007/12/wxpython-is-fine-but.html">a nice post</a> on <a href="http://pythonlovers.com">PythonLovers</a> by <a href="http://sayspy.blogspot.com/2007/12/wxpython-is-fine-but.html">Brett Cannon</a> about wxPython and the lack of a good <span class="caps">GUI</span> approach in Python.</p>

<p>Last year I did some <a href="http://wxpython.org/">wxPython</a>, <a href="http://www.pygtk.org/">pyGTK</a> and <a href="http://wiki.python.org/moin/TkInter">TkInter</a>, both cross-platform GUIs and none of them satisfied me. My final choice was wxPython thanks to <a href="http://wxglade.sourceforge.net/">wxGlade</a>, a nice <span class="caps">WYSIWYG</span> form editor. However there is a great con to TkInter: wxPython needs a separated installer. But TkInter is so damn ugly!</p>

<p>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 <a href="http://www.pygtk.org/">PyGTK</a>, <span class="caps">KDE</span> ones with <a href="http://wiki.python.org/moin/PyQt">PyQT</a>, MacOS with <a href="http://pyobjc.sourceforge.net/">PyObjC</a> (Which I believe it&#8217;s already included, or at least comes with Leopard) and Windows with&#8230; <a href="http://pythonnet.sourceforge.net/">Python.NET</a> (<a href="http://alcidesfonseca.com/blog/235">more on this in the next post</a>). And then a Universal Wrapper that would allow programmers to write one single simple code (<a href="http://code.whytheluckystiff.net/shoes/">Shoes</a> anyone?) that would run in all OSes. Almost a mix between <a href="http://www.cosc.canterbury.ac.nz/greg.ewing/python_gui/">PyGUI</a> and <a href="http://students.ceid.upatras.gr/~sxanth/twgui/twdoc.html">TwilightGUI</a>. And specific development would always be possible using the lower-level bindings.</p>

<p>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 <span class="caps">PERL</span>, but a full-featured language that is wanted to be used for all purposes. And along with a standard good package manager (like ruby&#8217;s gems), the <span class="caps">GUI</span> issue is one of the biggest disadvantages in Python. And <a href="http://www.artima.com/weblogs/viewpost.jsp?thread=214325">Guido seems not to care much about it</a>.</p>