Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 这些变量是否会贯穿主框架的整个生命周期?_Python_Tkinter - Fatal编程技术网

Python 这些变量是否会贯穿主框架的整个生命周期?

Python 这些变量是否会贯穿主框架的整个生命周期?,python,tkinter,Python,Tkinter,我正在写一个Tkinter程序。主类是MainFrame() 通过调用add\u tab创建的每个tab变量是否会在主框架的整个生命周期内保持不变(直到它被销毁)?谢谢。每个变量都绑定到一个对象选项卡。每个选项卡都有一个父项。函数存在后,函数的局部变量将消失-即绑定丢失,但您在列表self.tabs中有对对象Tab(每一个)的引用,该引用在对象MyFrame的整个生命周期内持续存在 每个对象选项卡将一直存在,直到父类(和/或父类的父类)被销毁(或通过调用选项卡上的销毁方法) 我只是胡乱猜测:(每

我正在写一个Tkinter程序。主类是
MainFrame()


通过调用
add\u tab
创建的每个
tab
变量是否会在主框架的整个生命周期内保持不变(直到它被销毁)?谢谢。

每个变量都绑定到一个对象
选项卡
。每个
选项卡都有一个父项。函数存在后,函数的局部变量将消失-即绑定丢失,但您在列表
self.tabs
中有对对象
Tab
(每一个)的引用,该引用在对象
MyFrame
的整个生命周期内持续存在

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


我只是胡乱猜测:(

每个变量都绑定到一个对象
Tab
。每个
Tab
都有一个父对象。一旦函数存在,函数的本地变量就会消失-也就是说,绑定丢失,但您有对对象
Tab
的引用(每个)在列表
self.tabs
中,它们在对象的整个生命周期中持续存在
MyFrame

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

我只是胡乱猜测::(

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)