Tkinter example code for multiple windows, why won't buttons load correctly?

前端 未结 5 1921
独厮守ぢ
独厮守ぢ 2020-12-02 07:44

I am writing a program which should:

  1. Open a window with the press of a button.
  2. Close the newly opened window with the press of another button.
5条回答
  •  感情败类
    2020-12-02 08:47

    I rewrote your code in a more organized, better-practiced way:

    import tkinter as tk
    
    class Demo1:
        def __init__(self, master):
            self.master = master
            self.frame = tk.Frame(self.master)
            self.button1 = tk.Button(self.frame, text = 'New Window', width = 25, command = self.new_window)
            self.button1.pack()
            self.frame.pack()
    
        def new_window(self):
            self.newWindow = tk.Toplevel(self.master)
            self.app = Demo2(self.newWindow)
    
    class Demo2:
        def __init__(self, master):
            self.master = master
            self.frame = tk.Frame(self.master)
            self.quitButton = tk.Button(self.frame, text = 'Quit', width = 25, command = self.close_windows)
            self.quitButton.pack()
            self.frame.pack()
    
        def close_windows(self):
            self.master.destroy()
    
    def main(): 
        root = tk.Tk()
        app = Demo1(root)
        root.mainloop()
    
    if __name__ == '__main__':
        main()
    

    Result:

提交回复
热议问题