Learning Python - First Project

K

KDawg44

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.
 
K

kyosohma

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.

Hi,

You should be able to create one main window as "root" and use
standard dialogs for the dialogs you mentioned. As for the "Open
Group" button, you might use a tree widget instead of opening another
window. You could put the tree in a splitter window or something and
it might look nicer. Of course, you can do another window, but it
would be a custom, hand-coded window and NOT a standard dialog. That
would mean that it would indeed be another class with its own
"__init__".

You can set both the standard dialogs and your custom one to
"ShowModal" and then you shouldn't need to use Toplevel().

I am assuming you are using Tkinter for your front-end GUI. You might
also take a gander at wxPython. It has an excellent demo you could
download and it might give you some additional ideas for
implementation: www.wxpython.org .

Mike
 
K

kyosohma

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!

Mike
 
K

kyosohma

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!

Mike

Sorry about the dual posting. This thing isn't posting correctly for
me today.

Mike
 
K

KDawg44

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!

Mike

Thanks very much for your suggestions. I think i will look into
wxPython, though I will finish this little app in tkinter since I am
almost done with it.

THanks for your help.
 
7

7stud

I am assuming you are using Tkinter for your front-end GUI. You might
also take a gander at wxPython. It has an excellent demo you could
download and it might give you some additional ideas for
implementation:www.wxpython.org.

Mike

Hi,

I've heard about that excellent demo, but I downloaded wxPython, and I
don't even know where to look for it. Any pointers?
 
7

7stud

Hi,

I've heard about that excellent demo, but I downloaded wxPython, and I
don't even know where to look for it. Any pointers?

Never mind. Got it:

$ python /Developer/Examples/wxWidgets/wxPython/demo/demo.py
 
K

Kevin Haynes

7

7stud

Hello

I was a python newbie just a month ago and found the following books a great
help.

Beginning Python: From Novice to Professional (Beginning: From Novice to
Professional) by Magnus L. Hetland (Paperback - 29 Sep 2005)http://www.amazon.co.uk/Beginning-Python-Novice-Professional/dp/15905...

WxPython in Action by Noel Rappin and Robin Dunn (Paperback - 30 Mar 2006)http://www.amazon.co.uk/WxPython-Action-Noel-Rappin/dp/1932394621/ref...

Kevin

I am reading both now, and I would not recommend either one. If you
just skim over the examples and don't play with them, you might
mistakenly believe you know what's going on, but if you actually try
the examples and alter them here and there to figure out how things
really work, you will discover all the mistakes and gaps in both
books.
 
K

kyosohma

I am reading both now, and I would not recommend either one. If you
just skim over the examples and don't play with them, you might
mistakenly believe you know what's going on, but if you actually try
the examples and alter them here and there to figure out how things
really work, you will discover all the mistakes and gaps in both
books.

Beginning Python is a good reference, but there's not much for
examples, other than the fairly advanced stuff in the back of the
book. "Python Programming for the Absolute Beginner" by Dawson was
much more fun since you get to create games in python. I'm not sure
why you don't like the wxPython one. It was a nice reference. But
maybe I liked it as I started out learning C++ and wxPython has
similar idioms.

If you want to learn the nuts and bolts of the Python language, you'll
need to read "Programming Python" by Lutz or the really in-depth book
"Core Python Programming" by Chun, which (unfortunately) has lots of
info, but not much code.

The current wxPython demo is here: http://wxpython.org/download.php
(about a third of the way down)

Mike
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,482
Members
44,901
Latest member
Noble71S45

Latest Threads

Top