I am writing a large Python/Tkinter/Pmw program. It has become so big that I would like to move some of the widget handlers to a module for import. The following small program illustrates:
# --- begin code --- # checkbutton frame using python & Tkinter from Tkinter import * import string class CheckButton_1(Frame): def __init__(self,msg): Frame.__init__(self,master) self.grid( ) self.createWidgets() def createWidgets(self): self.var = IntVar() c = Checkbutton( master, text='Check if yes', variable=self.var, command=self.handlerCheckButton, ) c.grid( ) def handlerCheckButton(self): self.doNotSend=self.var.get() if self.doNotSend: print "\nChecked" else: print "\nNot checked" if __name__ == "__main__": master=Tk() master.title("Checkbutton test") msg='If checked, do NOT send me a copy of this email' check=CheckButton_1(msg) check.mainloop() # --- end code --- If the method 'handlerCheckButton(self)' is moved to a module, them imported, the button may come up but once the Checkbutton is checked, the code crashes with an error. Is there no way to put handlers in a module and import them? Is 'self' getting in the way? Daniel B. _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor