tkinter多级窗口
if __name__ == "__main__":
gui = GUI()
gui.mainloop()
__name__使用来初始化的下面内容的
这里面包含了一个GUI类
接着我要创建GUI类
class GUI(ttk.Window):
def __init__(self):
super().__init__(themename="cerculean", scaling="1.3")
self.title(版本号)
self.geometry('400x500')
self.create_widgets()
def create_widgets(self):
self.first_page = FirstPage(self, self.a, self.b,
self.c, self.d)
self.first_page.pack()
def go_to_first_page(self):
if self.a_page:
self.a_page.destroy()
self.create_widgets()
__init__同样会初始化下面的内容
这里面包含了一个create_widgets方法,用于创建组件界面。
接着我要创建一个create_widgets方法
def create_widgets(self):
self.first_page = FirstPage(self, self.a, self.b,
self.c, self.d)
self.first_page.pack()
这里包含了一个self.first_page.pack()
其中的.pack()这个方法是tkinter的一个方法,作用是初始化,所以
变量self.first_page会被初始化,所以FirstPage(self, self.a, self.b,
self.c, self.d)会被初始化,我们需要写一个FirstPage 类
class FirstPage(ttk.Frame):
def __init__(self, master,a,b,c,d):
super().__init__(master)
self.a = a
self.b = b
self.c = c
self.d = d
master.geometry('400x250')
# master.resizable(False, False)是否允许自由调整窗口
self.create_widgets()
def create_widgets(self):
你好 = ttk.Labelframe(self.master, text="孙菲菲发", padding=10)
你好.pack(padx=10, pady=10)
self.你好 = 你好
button_A = ttk.Button(你好, text="FSDFFF",
command=self.a, width=25)
button_A.pack(padx=20, pady=10)
button_B = ttk.Button(你好, text="fsfaf",
command=self.b, width=25)
button_B.pack(padx=20, pady=10)
button_C = ttk.Button(你好, text="cfsfsfs",
command=self.c, width=25)
button_C.pack(padx=20, pady=10)
def destroy(self):
self.你好.destroy()
# super().destroy()#预计可删