learning curve

Discussion in 'Python' started by Verde Denim, Dec 28, 2012.

  1. Verde Denim

    Verde Denim Guest

    Just getting into Py coding and not understanding why this code doesn't
    seem to do anything -

    # File: dialog2.py
    import dialog_handler

    class MyDialog(dialog_handler.Dialog):
    def body(self, master):
    Label(master, text="First:").grid(row=0)
    Label(master, text="Second:").grid(row=1)
    self.e1 = Entry(master)
    self.e2 = Entry(master)
    self.e1.grid(row=0, column=1)
    self.e2.grid(row=1, column=1)
    return self.e1 # initial focus

    def apply(self):
    first = string.atoi(self.e1.get())
    second = string.atoi(self.e2.get())
    print first, second # or something

    # File: dialog_handler.py

    from Tkinter import *
    import os

    class Dialog(Toplevel):

    def __init__(self, parent, title = None):
    Toplevel.__init__(self, parent)
    self.transient(parent)

    if title:
    self.title(title)
    self.parent = parent
    self.result = None
    body = Frame(self)
    self.initial_focus = self.body(body)
    body.pack(padx=5, pady=5)
    self.buttonbox()
    self.grab_set()

    if not self.initial_focus:
    self.initial_focus = self

    self.protocol("WM_DELETE_WINDOW", self.cancel)
    self.geometry("+%d+%d" % (parent.winfo_rootx()+50,
    parent.winfo_rooty()+50))
    self.initial_focus.focus_set()
    self.wait_window(self)

    #
    # construction hooks
    def body(self, master):
    # create dialog body. return widget that should have
    # initial focus. this method should be overridden
    pass

    def buttonbox(self):
    # add standard button box. override if you don't want the
    # standard buttons
    box = Frame(self)

    w = Button(box, text="OK", width=10, command=self.ok,
    default=ACTIVE)
    w.pack(side=LEFT, padx=5, pady=5)
    w = Button(box, text="Cancel", width=10,
    command=self.cancel)
    w.pack(side=LEFT, padx=5, pady=5)

    self.bind("<Return>", self.ok)
    self.bind("<Escape>", self.cancel)

    box.pack()

    #
    # standard button semantics
    def ok(self, event=None):
    if not self.validate():
    self.initial_focus.focus_set() # put focus back
    return
    self.withdraw()
    self.update_idletasks()
    self.apply()
    self.cancel()

    def cancel(self, event=None):
    # put focus back to the parent window
    self.parent.focus_set()
    self.destroy()

    #
    # command hooks
    def validate(self):
    return 1 # override

    def apply(self):
    pass # override
    Verde Denim, Dec 28, 2012
    #1
    1. Advertising

  2. Verde Denim

    alex23 Guest

    On Dec 28, 11:20 am, Verde Denim <> wrote:
    > Just getting into Py coding and not understanding why this code doesn't
    > seem to do anything -


    Is that the sum total of your code? You're not showing any
    instantiation of your classes.
    alex23, Dec 28, 2012
    #2
    1. Advertising

  3. Verde Denim

    Verde Denim Guest

    On 12/27/2012 09:32 PM, alex23 wrote:
    > On Dec 28, 11:20 am, Verde Denim <> wrote:
    >> Just getting into Py coding and not understanding why this code doesn't
    >> seem to do anything -

    >
    > Is that the sum total of your code? You're not showing any
    > instantiation of your classes.

    Yes, as a matter of fact, it is the example verbatim from the tutorial
    pages that I found. Apparently, it isn't the best example... Thanks for
    the heads up.
    Verde Denim, Dec 28, 2012
    #3
  4. Verde Denim

    Terry Reedy Guest

    On 12/28/2012 1:29 PM, Verde Denim wrote:
    > On 12/27/2012 09:32 PM, alex23 wrote:
    >> On Dec 28, 11:20 am, Verde Denim <> wrote:
    >>> Just getting into Py coding and not understanding why this code doesn't
    >>> seem to do anything -

    >>
    >> Is that the sum total of your code? You're not showing any
    >> instantiation of your classes.

    > Yes, as a matter of fact, it is the example verbatim from the tutorial
    > pages that I found. Apparently, it isn't the best example...


    Let us say that it was an example of how to write classes, with usage
    left as an exercise for the reader ;-)

    --
    Terry Jan Reedy
    Terry Reedy, Dec 29, 2012
    #4
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Jeremy S.

    Learning Curve on 2.0

    Jeremy S., Sep 9, 2005, in forum: ASP .Net
    Replies:
    2
    Views:
    381
    clintonG
    Sep 10, 2005
  2. Jetus
    Replies:
    10
    Views:
    516
    D'Arcy J.M. Cain
    Apr 8, 2008
  3. M.-A. Lemburg
    Replies:
    3
    Views:
    302
    M.-A. Lemburg
    Apr 9, 2008
  4. Hicham Mouline
    Replies:
    2
    Views:
    370
    Jerry Coffin
    Sep 14, 2009
  5. Zach Dennis
    Replies:
    3
    Views:
    158
    Jim Weirich
    Jan 30, 2004
Loading...

Share This Page