Learning Python - First Project

kyosohma at gmail.com kyosohma at gmail.com
Mon Apr 23 20:44:39 CEST 2007

On Apr 23, 9:52 am, KDawg44 <KDaw... at gmail.com> wrote:
> Hi,
> I am new to Python and am trying to write a little front end to
> another application in Python.
> What I want is to have a gui pop up listing some items with several
> buttons.  The guts of the program I am not having any trouble with but
> the GUI part I am (or more accurately, the transition between GUI
> pieces).
> The first GUI that pops up lists some groups in a listbox and gives
> the user the choice to create a new group, open a group, rename the
> group, or delete the group.  The new group and rename group buttons
> pop up a dialog gui asking for the name/new name.  The Open Group is
> to open another GUI listing projects within that group in a list with
> similar options (New Project, Open Project, Rename Project, Delete
> Project).
> My question is, how should I create all these GUIs?  Should each GUI
> be its own class with its own __init__?  Then is the first GUI the
> root (how I have it set up now) and all other GUIs using Toplevel()?
> I hope this makes sense (because it only sort of makes sense in my
> head).
> THanks for any suggestions.

I am assuming you are using Tkinter for your GUI front-end. You should
be able to just use standard dialog boxes for your "new group" and
"rename group" dialogs and a custom hand-coded dialog for the other
one. All three can be called with ShowModal() instead of Toplevel().
And yes, the custom dialog would work best if you made it into a
separate class.

You could also put that information for the GUI that list projects
into a "tree" widget of some sort, maybe with a splitter window. I
haven't had much luck with Tkinter's tree widgets though. PMW and Tix
both have rather poor docs unless you enjoy man pages. You might check
out wxPython instead. It has an excellent demo that is very good at
showing you not only what all it can do, but how it is done: www.wxpython.org.

Good luck!


More information about the Python-list mailing list