我有一个tkinter python 2.x程序。我屏幕上出现了几个窗口。我使用按钮从一个导航到另一个,但我正在努力关闭一个窗口并重新聚焦在当前打开的窗口上。我可以打开新窗户就好了!
#code for main window
def frmMain():
app = Tk()
app.title("TWS: XML Options")
app.geometry("200x100")
bn1 = Button(app,text="Add", command=frmAdd)
bn1.grid(row = 2,column = 2, stick = W)
bn2 = Button(app,text="Edit", command=frmEdit)
bn2.grid(row = 2,column = 3, stick = W)
bn3 = Button(app,text="Delete", command=frmDelete)
bn3.grid(row = 2,column = 4, stick = W)
bn4 = Button(app,text="Back",command=frmMenu)
bn4.grid(row = 3,column = 2, stick = W)
app.mainloop()
#code for button on sub window
....
bn1 = Button(app,text="Back", command=back)
...
def back():
#Code to close current window and reopen frmMain
答案 0 :(得分:1)
只需在小部件的父级上调用destroy()
即可。
bn1 = Button(app, text="Back", command=app.destroy)
我想你没有破坏父窗口,所以一旦Toplevel被销毁,焦点就会自动返回到之前打开的窗口。
答案 1 :(得分:0)
TopLevel Window 可以使用其deiconify()
方法激活。
使用基本小部件方法focus_set()
将键盘焦点设置为特定小部件。