python - 如何关闭当前窗口并同时打开一个新窗口?

标签 python tkinter

此代码打开一个链接到另一个按钮的按钮。另一个按钮可以自行关闭,但第一个按钮无法自行关闭并同时打开一个新按钮,我该如何解决?

import tkinter as tk

class Demo1:
    def __init__(self, master):
        self.master = master
        self.frame = tk.Frame(self.master)
        self.HelloButton = tk.Button(self.frame, text = 'Hello', width = 25, command = self.new_window,)
        self.HelloButton.pack()
        self.frame.pack()
    def close_windows(self):
        self.master.destroy()
        self.new_window
    def new_window(self):
        self.new_window = tk.Toplevel(self.master)
        self.app = Demo2(self.new_window)


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()

最佳答案

尝试重新定义您的 Demo1.new_window() 如下:

def new_window(self):
    self.master.destroy() # close the current window
    self.master = tk.Tk() # create another Tk instance
    self.app = Demo2(self.master) # create Demo2 window
    self.master.mainloop()

关于python - 如何关闭当前窗口并同时打开一个新窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39683274/

相关文章:

python - 如何在 tkinter 按钮中使用符号字体? Python

python - Spacy 极性/情感方法不起作用

Python 2.7 tkinter - 与 widget.tk_focusNext().focus() 相反

python - 如何在同一行(shell 或窗口)中每次使用不同的输出重新打印 2D 数组或多个输出 [Python 3.x]?

在进程完成之前,Python 脚本无法读取 Popen 输出(在 Windows 上)

Python 识别时间序列数据框中的美国假期

python - 如何快速向数据框插入一行?

python - 使用 rdflib 和 sparql 查询过滤 n3/turtle 文件

python - MySQLdb._exceptions.ProgrammingError

python - 获取带有 tkinter.filedialog.asksaveasfilename 的文件名以附加到其中