我正在写一个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)
通过调用tab
创建的每个add_tab
变量是否会在主框架的整个生命周期内持续存在(直到它被销毁)?感谢。
答案 0 :(得分:3)
每个变量都绑定到一个对象Tab
。每个Tab
都有一个父级。一旦函数存在,函数的局部变量就会消失 - 也就是说,绑定会丢失,但你可以在列表Tab
中继续引用对象self.tabs
(每个)在对象MyFrame
的整个生命周期中。
每个对象Tab
将一直存在,直到父类(和/或父类的父类)被销毁(或通过在Tab
上调用destroy方法)
只是我疯狂的猜测:(