【发布时间】:2020-07-05 23:09:45
【问题描述】:
我正在尝试在我的程序中构建选项卡。每个选项卡都有不同的功能、标签、条目等......
我的想法是创建一个类似于 mainTab 文件的东西来创建所有选项卡。
是否可以从mainTab 文件继承并尽可能多地创建 Tab 类?
我想分离每个 Tab 类,因为每个类都有很多方法,我不想将整个 Tab 类写在一个文件上。
是否可以创建?
如果是,我如何创建选项卡的实例并将其连接到tab_control?
例如:这是我写的,一个类中的所有选项卡(我不想那样创建它)
class CreateLayout:
def __init__(self, window):
self.window = window
window.title('TITLE')
window.geometry('800x600')
# Create Tab Control
tab_control = ttk.Notebook(window)
# Tab1
tab1 = ttk.Frame(tab_control)
tab_control.add(tab1, text='Hashtag')
tab_control.pack(expand=1, fill="both")
# Tab2
tab2 = ttk.Frame(tab_control)
tab_control.add(tab2, text='Following me')
tab_control.pack(expand=1, fill="both")
我想创建继承自 CreateLayout 类的子类(Tabs),并在每个子类上编写自己的 Tab 逻辑,包括方法、布局等......
我希望我的问题很清楚,如果没有,请告诉我。
底线,我要创建的是继承自 CreateLayout 并在 CreateLayout 中构建选项卡的类。
例如
class CreateLayout:
def __init__(self, window):
self.window = window
tab_control = ttk.Notebook(window)
tab1 = Tab1(window)
tab_control.add(tab1, text='Hashtag')
类似的东西。
【问题讨论】:
-
您必须将
Tab1(window)更改为Tab1(tab_control)。相关:Correctly extend a tkinter widget using inheritance,在您的情况下,您必须从Frame继承。 -
就这样?这就是我需要在
main文件上做的所有事情来创建一个选项卡? -
“就这样?”:是的,1.“标签”必须是一个容器小部件,常见的
Frame。 2.“Tab”的父级必须是Notebook小部件。
标签: python python-3.x tkinter