Python-一个按钮即可返回上一页和.destroy()页面

时间:2019-04-10 14:17:38

标签: python tkinter

我有一个输出页面,该页面在搜索和选择信息后显示信息。在输出页面中,我有一个显示“返回搜索”的按钮,它将返回搜索窗口(两个不同的窗口)。如何使后退按钮返回并同时关闭输出窗口?

我尝试将两个功能整合为一个功能:

def backandclose():
    lambda: os.system("python Search.py"))
    root.quit

root = Tk()

back_button = Button(root, text="<<Back To Search", command=backandclose)
back_button.pack()

root.mainloop()

该代码似乎无能为力。 我知道我是否只放:

command = lambda: os.system("python Search.py")

按钮旁边,它将打开我的Search.py​​窗口。

我希望它也 .quit() .destroy()我的原始窗口,以便当我按下后退按钮时Search.py​​打开,当前窗口关闭。

1 个答案:

答案 0 :(得分:0)

@Bryan Oakley在评论中指出:

  

root.quitroot.quit()不同。前者什么都不做。

但是,使用您在需要时产生并随后关闭的tk.Toplevel窗口可能更适合您的问题。

也许是这样的:

import tkinter as tk

def spawn_top():
    top = tk.Toplevel(app, bg='cyan')
    top.title('additional info')
    top.geometry('200x100')
    tk.Button(top, text='back to search', command=top.destroy).pack()

app = tk.Tk()
app.geometry('200x200')
app.title('search window')
tk.Button(app, text='spawn additional info', command=spawn_top).pack()

app.mainloop()

(我在生成的顶级中添加了一个back to search按钮,但这并不是完全必要的,因为关闭此窗口会自动将焦点恢复到根应用程序。)