Define __getattr__ for wrapped GUI class : Action « Tkinker « Python Tutorial






Define __getattr__ for wrapped GUI class
from Tkinter import *

class HelloPackage:                         
    def __init__(self, parent=None):
        self.top = Frame(parent)            
        self.top.pack()
        self.data = 0
        self.make_widgets()                 
    def make_widgets(self):
        Button(self.top, text='Bye', command=self.top.quit).pack(side=LEFT)
        Button(self.top, text='Hye', command=self.message).pack(side=RIGHT)
    def message(self):
        self.data += 5
        print self.data
     
class HelloPackage(HelloPackage): 
    def __getattr__(self, name):
        return getattr(self.top, name)  
     
HelloPackage().top.mainloop()








18.1.Action
18.1.1.Wrap a command in a functionWrap a command in a function
18.1.2.Use lambda as action commandUse lambda as action command
18.1.3.Wrap action command in a classWrap action command in a class
18.1.4.Wrap GUI design in a class: a button on a frame
18.1.5.Wrap GUI design in a class: layout controls and link actions
18.1.6.Add widgets to wrapped GUI classAdd widgets to wrapped GUI class
18.1.7.Define __getattr__ for wrapped GUI classDefine __getattr__ for wrapped GUI class
18.1.8.Default press actionDefault press action
18.1.9.bind actions: key pressedbind actions: key pressed