tkinter给窗口焦点

时间:2013-02-28 17:46:22

标签: python tkinter

我有一个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

2 个答案:

答案 0 :(得分:1)

只需在小部件的父级上调用destroy()即可。

bn1 = Button(app, text="Back", command=app.destroy)

我想你没有破坏父窗口,所以一旦Toplevel被销毁,焦点就会自动返回到之前打开的窗口。

答案 1 :(得分:0)

TopLevel Window 可以使用其deiconify()方法激活。

使用基本小部件方法focus_set()将键盘焦点设置为特定小部件。