擅长:python、mysql、java
<p>您可能不想将每个选项卡分配给<code>self</code>上的新属性,只需使用您已经创建的列表并从那里访问它们即可。
另外,在Python3中,类定义中不再需要<code>(object)</code></p>
<pre><code>class MainWindow:
def __init__(self):
self.tablist = [MainWindowTab(0)]
def add_tab(self):
tab_num = len(self.tablist)
self.tablist.append(MainWindowTab(tab_num)
</code></pre>
<p>现在每个选项卡都可以作为<code>self.tablist[0]</code>、<code>self.tablist[1]</code>等访问</p>
<p>要销毁选项卡,您需要将它们从主列表中删除,并调用对象本身所需的任何析构函数方法。比如:</p>
<pre><code> def kill_tab(self, num):
"""Kill tab number 'num'"""
try:
tab = self.tablist.pop(num)
tab.destroy()
except IndexError:
print(f"Tab {num} doesn't exist!")
</code></pre>