1

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

2 回答 2

1

只需调用destroy()小部件的父级。

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

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

于 2013-02-28T19:24:56.633 回答
0

可以使用其方法激活TopLevel窗口 deiconify()

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

于 2013-03-05T05:04:25.993 回答