2012-04-29 30 views
0

我在寫一個Tkinter程序。主類是MainFrame()這些變量是否會貫穿主框架的整個生命週期?

class MainFrame(Frame): 

    def __init__(self, master=None): 

     Frame.__init__(self, master) 
     self.grid() 

     # sets up the tab bar 
     self.tabbar = TabBar(self, 'File Tabe Bar') 
     self.tabs = [] 
     self.add_tab(self.tabbar, 'Hello Tab') # add a new tab to self.tabs 
     self.tabbar.pack() # make it visible 

    def add_tab(self, parent, name='Default'): 
     tab = Tab(parent, name) 
     self.tabs.append(tab) 

將通過調用add_tab持續整個主框架的續航時間(直到它被破壞)每個tab變量產生的?謝謝。

回答

3

每個變量綁定到一個對象Tab。每個Tab都有一位家長。一旦函數存在,函數本地的變量將會消失 - 也就是說,綁定會丟失,但是您可以參考列表self.tabs中的對象Tab(它們中的每一個),該對象在對象的整個生命週期中保持爲MyFrame

每個對象Tab會活到父類(和/或父類的父母)被破壞(或通過調用Tab一滅法)

只是我大膽猜測::(

+0

謝謝,現在很清楚。 – User007 2012-04-29 22:55:45

相關問題