Easy-to-use Python GUI

Mike Driscoll kyosohma at gmail.com
Thu Dec 25 01:37:40 CET 2008


On Dec 24, 5:47 pm, "Joel Koltner" <zapwireDASHgro... at yahoo.com>
wrote:
> Is there an easy-to-use, "function"-based cross-platform GUI toolkit for
> Python out there that's a little more sophisticated than EasyGui?  EasyGui
> looks good, but it's a little more restrictive than what I'd like to have, yet
> I'm (stubbornly :-) ) resistant to stepping up to a "full service" GUI toolkit
> such as pyGTK or wxPython where it's all about event loops and callbacks and
> you need to start planning how the GUI affects the overall program flow rather
> than just using a "forms" (or "Wizard")-type approach where you put up a few
> dialogs, users fill in some variables, and your program just sits around
> waiting until "OK" or "Cancel" is clicked.
>
> One approach that I like comes from SAX BASIC/WinWrap, which is more or less a
> clone of Microsoft's Visual BASIC for Applications, but they (apparently)
> wanted everything to still be human-readable, so they have a simple GUI
> ("form") builder that generates code that looks like this:
>
> ---
>
>  Begin Dialog UserDialog 850,497,"Export Control" ' %GRID:10,7,1,1
>
>   GroupBox 20,7,360,217,"Drill File Generation",.GroupBox1
>   CheckBox 40,35,130,14,"Output drill file(s)",.genDrill
>   Text 40,63,270,28,"Identify via layers as any that contain this text in
> their names:",.Text
>   TextBox 40,98,220,21,.viaLayerName
>   Text 40,140,100,14,"Output method:",.Text8
>   DropListBox 160,140,180,21,DrillStyle(),.drillStyle
>   Text 40,175,130,28,"Select drill table units:",.Text2
>   ListBox 200,175,120,28,unitNames(),.unitName
>
>   OKButton 310,469,90,21
>   CancelButton 410,469,90,21
>
>  End Dialog
>
> ' GUI builder generates or modifies everything above, but can also be edited
> by hand
> ' You write the following code...
>
>  Dim dlg As UserDialog
>
>  dlg.genDrill = 1
>  ReDim DrillStyle(1)
>  DrillStyle(0) = "All Via Layers In One File"
>  DrillStyle(1) = "One File Per Via Layer"
>  dlg.drillStyle = 1
>
>  func=Dialog(dlg)
>
> ---
>
> This is pretty darned easy for me understand and modify either by hand or with
> the GUI builder.  Still, it's quite powerful, since it supports all the common
> GUI elements (text, group boxes, checkboxes, drop-down lists, text boxes,
> buttons, etc.).  This is about the level of sophistication I'm looking for.
>
> Anything like this for Python?
>
> Thanks,
> ---Joel

Some people like Boa Constructor, XRC or wxGlade:

http://boa-constructor.sourceforge.net/
http://wxglade.sourceforge.net/
http://wiki.wxpython.org/XRCTutorial

Technically, you can switch to IronPython and then use Visual Studio
to design your GUIs and IronPython to control it. I think there's
something similar to Jython and Cocoa as well.

Probably not what you wanted though.

Mike



More information about the Python-list mailing list