Ask HN: Python GUI toolkits
Since this was last asked on HN a few years ago, I thought I would ask again as things may have changed.
I am looking for a GUI toolkit for Python 3.2 that looks good on both Windows 7 and OS X. Here the catch: I am at best an average programmer so I need something really easy to use. My program will not be too complicated: I would just use listviews, buttons, text fields, etc. Is creating the GUI widgets via an XML file (along with the layout) a good way to go these days? It seems like this would be easier to develop and maintain.
Right now, I have a good command-line version of my program and want to add a GUI to it. I'd also love to "compile" the Python code and then be able to distribute it a .exe installer or a .dmg image.
Any help would be greatly appreciated. Thanks!
7 comments
[ 3.5 ms ] story [ 24.5 ms ] threadI would suggest looking at the most popular tookits and making an example screen with all the widgets you'll need in each and then testing it in OSX/Windows 7. Shouldn't take you too much time. Screen shots should filter the toolkits down to a reasonable number.
Another approach is to separate your presentation layer completely so that you can use different toolkits on each platform. With two platforms you'll only have to learn the basics of two libraries. If you move to Linux later this would allow you to use QT/GTK+ as well.
http://www.pyside.org/
http://zetcode.com/gui/pysidetutorial/
I used wxFormBuilder: http://sourceforge.net/projects/wxformbuilder/
It's pretty much a point-and-click sort of thing, but after the initial drafting/mockups I tweaked it by hand (small things like names/strings, as well as adding the events). I used Python 2.7 - not sure about 3.2.
If you need any help send me an email and I'll do my best to help. I've managed to compile/run it on Windows ok, and as far as I'm aware it's possible to compile it for Mac/Linux. I just have no Mac to test.
However, from the PySide web page, "There are no PySide core developers using Windows or Mac and no more PySide build bots, so if you really want to see PySide running on those platforms better you do something."