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)

tab通过调用创建的每个变量是否会add_tab在主框架的整个生命周期中持续存在(直到它被销毁)?谢谢。

4

1 回答 1

3

每个变量都绑定到一个对象Tab。每个Tab人都有一个父母。一旦函数存在,函数的局部变量就会消失——也就是说,绑定丢失了,但是您Tab在列表中拥有对对象(每个对象)的引用,该引用在对象的self.tabs整个生命周期中都存在MyFrame

每个对象Tab将一直存在,直到父类(和/或父类的父类)被销毁(或通过调用销毁方法Tab

只是我的疯狂猜测::(

于 2012-04-29T02:39:32.937 回答