Learning Python - First Project

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • KDawg44

    #1

    Learning Python - First Project

    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.

  • kyosohma@gmail.com

    #2
    Re: Learning Python - First Project

    On Apr 23, 9:52 am, KDawg44 <KDaw...@gmail. comwrote:
    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

    Comment

    • kyosohma@gmail.com

      #3
      Re: Learning Python - First Project

      On Apr 23, 9:52 am, KDawg44 <KDaw...@gmail. comwrote:
      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

      Comment

      • kyosohma@gmail.com

        #4
        Re: Learning Python - First Project

        On Apr 23, 1:44 pm, kyoso...@gmail. com wrote:
        On Apr 23, 9:52 am, KDawg44 <KDaw...@gmail. comwrote:
        >
        >
        >
        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
        Sorry about the dual posting. This thing isn't posting correctly for
        me today.

        Mike

        Comment

        • KDawg44

          #5
          Re: Learning Python - First Project

          On Apr 23, 1:44 pm, kyoso...@gmail. com wrote:
          On Apr 23, 9:52 am, KDawg44 <KDaw...@gmail. comwrote:
          >
          >
          >
          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
          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.

          Comment

          • 7stud

            #6
            Re: Learning Python - First Project

            On Apr 23, 12:26 pm, kyoso...@gmail. com wrote:
            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?


            Comment

            • 7stud

              #7
              Re: Learning Python - First Project

              On Apr 23, 4:25 pm, 7stud <bbxx789_0...@y ahoo.comwrote:
              On Apr 23, 12:26 pm, kyoso...@gmail. com wrote:
              >
              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?
              Never mind. Got it:

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

              Comment

              • 7stud

                #8
                Re: Learning Python - First Project

                Uhhmm...how are you supposed to close a ShapedWindow(un der
                Miscellaneous)?

                Comment

                • Kevin Haynes

                  #9
                  Re: Learning Python - First Project

                  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)


                  WxPython in Action by Noel Rappin and Robin Dunn (Paperback - 30 Mar 2006)


                  Kevin

                  On Monday 23 April 2007, 7stud wrote:
                  Uhhmm...how are you supposed to close a ShapedWindow(un der
                  Miscellaneous)?

                  Comment

                  • 7stud

                    #10
                    Re: Learning Python - First Project

                    On Apr 23, 5:04 pm, Kevin Haynes <kevin.hay...@a uxilior.co.ukwr ote:
                    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-Py...ional/dp/15905...
                    >
                    WxPython in Action by Noel Rappin and Robin Dunn (Paperback - 30 Mar 2006)http://www.amazon.co.uk/WxPython-Act...1932394621/ref...
                    >
                    Kevin
                    >
                    On Monday 23 April 2007, 7stud wrote:
                    >
                    Uhhmm...how are you supposed to close a ShapedWindow(un der
                    Miscellaneous)?
                    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.


                    Comment

                    • kyosohma@gmail.com

                      #11
                      Re: Learning Python - First Project

                      On Apr 23, 6:36 pm, 7stud <bbxx789_0...@y ahoo.comwrote:
                      On Apr 23, 5:04 pm, Kevin Haynes <kevin.hay...@a uxilior.co.ukwr ote:
                      >
                      >
                      >
                      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-Py...ional/dp/15905...
                      >
                      WxPython in Action by Noel Rappin and Robin Dunn (Paperback - 30 Mar 2006)http://www.amazon.co.uk/WxPython-Act...1932394621/ref...
                      >
                      Kevin
                      >
                      On Monday 23 April 2007, 7stud wrote:
                      >
                      Uhhmm...how are you supposed to close a ShapedWindow(un der
                      Miscellaneous)?
                      >
                      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 "Programmin g 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

                      Comment

                      Working...