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
一个 顶层窗口 可以通过它的 deiconify()
方法来激活。
使用基本的 控件 方法 focus_set()
可以将键盘焦点设置到特定的控件上。
1
只需要在这个小部件的父窗口上调用 destroy()
方法就可以了。
bn1 = Button(app, text="Back", command=app.destroy)
我想你并没有销毁父窗口,所以一旦这个新窗口被关闭,焦点会自动回到之前打开的窗口上。