root.overrideredirect和<any-keypress>绑定

时间:2015-09-08 21:58:32

标签: events binding tkinter

我希望以下程序退出<Any-KeyPress>事件。

from tkinter import *

root = Tk()
root.overrideredirect(True)
root.bind('<Any-KeyPress>', lambda e: root.destroy())
root.mainloop()

这适用于Windows操作系统。但是,除非我从上面的代码中删除行root.overrideredirect(True),否则这不适用于Ubuntu。

这是预期的行为吗?

或者有没有办法可以让我的程序在使用root.overrideredirect(True)时工作?

修改

我刚看到一个similar question here at SO,Bryan Oakley建议使用root.focus_force(),但它没有帮助。

修改2

我使用root.attributes('-fullscreen', True)代替root.overrideredirect(True)建议使用here,这似乎现在有效。

1 个答案:

答案 0 :(得分:0)

尝试一下:

from tkinter import *

root = Tk()

root.bind('<Any-KeyPress>', quit())
root.mainloop()

假设您要退出程序,请保留代码。如果只想清除屏幕,则使用root.destroy()而不是quit()。使用root.overrideredirect(True)在Ubuntu上将无法使用。