自由,分享
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()#预计可删