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.tabsMyFrame

各オブジェクトTabは、親クラス(および/または親クラスの親)が破棄されるまで(またはでdestroyメソッドを呼び出すことによって)存続しTabます。

ただ私の野生の推測::(

于 2012-04-29T02:39:32.937 に答える