some suggestions about GUI toolkits?

Bill Maxwell bill_maxwell_nospam at comcast.net
Thu Dec 29 02:00:22 EST 2005


On 28 Dec 2005 05:51:50 -0800, "Luis M. González" <luismgz at gmail.com>
wrote:

>This question comes up in this mailing list every two or three days...
>I suggest taking some time to read previous threads (use Google Groups
>for en easier experience) and you'll find thousands of opinions and
>suggestions.
...SNIP...

Yes, and in my opinion, that's exactly the problem.  There are too many
opinions and suggestions and too few organized evaluations.  And, most
of the attempts to organize the information seem to be out of date for
the partial list of GUIs that they do try to evaluate.

I've been chewing through my own evaluation for the past 2 or 3 weeks,
and have been downloading and trying things on my own.  I think reading
the suggestions from past threads, then digging around and reading
descriptions of the ones that seem interesting, and then actually trying
to go through the tutorials (if they exist) is the only way to decide.

I'm finding that you can tell quite a lot by just looking for
documentation and tutorials, and seeing how up-to-date the websites are.

I've been keeping some notes as I plow through all this, and I've toyed
with the idea of writing up something that might be useful to others,
but that would be a BIG task, and I'm wimping out and just being selfish
and mostly only looking toward my own self interest.   So, I guess I'm
just spouting another opinion and not much organized information, and
contributing to the problem rather than the solution!  :^)

Anyway, having said all that, I find myself settling on using wxGlade,
which builds wxPython apps and GUIs.  

wxGlade:   http://wxglade.sourceforge.net/
wxPython:  http://wxpython.org/

There are two huge things that have influenced me to use this:

1)  Just by messing around with the wxGlade tutorials and experimenting,
I have managed to throw together a fairly sophisticated GUI interface
that uses a wxPython "NoteBook" in its main window (the notebook gives
you a tabbed interface), a working menu, a multi-segment status bar, and
separate modal and non-modal dialogs.  I really like the notebook
interface, and this became my "standard" when looking at other GUI
generator programs.  This thing just went together easily, which is more
than I can say about trying to use some of the other GUI generators.

2)  The availability of the new wxPython reference docs on the wxPython
site.  These really, really help when messing around trying to learn how
to do new things.  


Some comments on wxGlade:

I've found that the wxGlade user interface crashes fairly easily in some
spots, but if you save often, you can work around that.  It's worth it
just to get access to its sophisticated capabilities.  The tutorials are
not fully up to date, but at least they exist, and I believe they will
soon be updated.  

The latest wxGlade version has added automatic event handling setup and
"stub" function generation, which makes it much easier, in my mind, to
connect the GUI to your own code -- unfortunately one of the tutorials
(ironically, the one marked "new") still shows the old manual way of
making event handlers, and the web site sort of implies that wxGlade
won't ever do that, but it does.  Figuring out how to use it is easy,
once you notice where to type in the name of your handler in the wxGlade
user interface (I stumbled across this myself, and only later discovered
the little comment on the website that says "The current version is 0.4:
it adds wxWidgets 2.6 suppport and code generation of event handler
stubs for Python and C++ output").

Up until I discovered wxGlade, I had pretty much resigned myself to keep
using TkInter and writing the code myself.  This wxGlade thing is much
easier.

Oh, one more thing -- the wxGlade website is a good place to look for
finding other GUI builders for wxPython/wxWidgets.  They provide a nice
list at the bottom of the box on the right-hand side of the front
webpage.

Bill.



More information about the Python-list mailing list