Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Python (http://www.velocityreviews.com/forums/f43-python.html)
-   -   learning curve (http://www.velocityreviews.com/forums/t955887-learning-curve.html)

Verde Denim 12-28-2012 01:20 AM

learning curve
 
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

alex23 12-28-2012 02:32 AM

Re: learning curve
 
On Dec 28, 11:20*am, Verde Denim <tdl...@gmail.com> 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.

Verde Denim 12-28-2012 06:29 PM

Re: learning curve
 
On 12/27/2012 09:32 PM, alex23 wrote:
> On Dec 28, 11:20 am, Verde Denim <tdl...@gmail.com> 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.

Terry Reedy 12-29-2012 02:03 AM

Re: learning curve
 
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 <tdl...@gmail.com> 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



All times are GMT. The time now is 08:03 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.