root.overrideredirect和<Any-KeyPress>绑定

bha*_*arc 5 python events binding tkinter

我希望以下程序退出<Any-KeyPress>活动.

from tkinter import *

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

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

这是预期的行为吗?

或者有没有办法让我的程序在仍然使用的同时工作root.overrideredirect(True)

编辑


我刚刚在SO看到了类似的问题,Bryan Oakley建议使用root.focus_force()它,但它没有帮助.

编辑2


我使用的root.attributes('-fullscreen', True)不是root.overrideredirect(True)这里建议的那样,现在似乎有效.

小智 0

尝试这个:

from tkinter import *

root = Tk()

root.bind('<Any-KeyPress>', quit())
root.mainloop()
Run Code Online (Sandbox Code Playgroud)

假设您希望程序退出,请保留代码。如果您只想清除屏幕,只需root.destroy()使用quit(). 在 Ubuntu 上使用root.overrideredirect(True)不起作用。