考虑以下MWE:
from Tkinter import *
root = Tk()
Label(root,text="foo").pack()
root.mainloop()
我想设置一个新创建的Tkinter
窗口,该窗口不包含任何“可聚焦”控件,如按钮到前台。如果我运行上面的代码(从shell),窗口是不活动的,因此无法对键绑定做出反应。
有没有办法把这样的窗户带到前台?
[编辑] 我正在使用Python 2.7.5和OS X Mavericks。我从终端窗口运行代码,即使正确创建了Tkinter窗口,焦点也会停留在该窗口。
答案 0 :(得分:0)
刚刚在IDLE上尝试过:
>>> from Tkinter import *
>>> root=Tk()
>>> root.focus_force()
>>> Label(root,text="foo").pack()
>>> root.mainloop()
像魅力一样工作!(编辑:在Windows上显然!)
答案 1 :(得分:-1)
也许你做错了什么,因为下面对我来说非常合适: 可能是平台问题??
from Tkinter import *
root = Tk()
Label(root,text="foo").pack()
root.geometry("%dx%d+%d+%d" % (200,100,0,0))
#made it a bigger window to see better...
root.wm_attributes("-topmost", 1)
root.focus_force()
root.mainloop()