我希望以下程序退出<Any-KeyPress>
event.
from tkinter import *
root = Tk()
root.overrideredirect(True)
root.bind('<Any-KeyPress>', lambda e: root.destroy())
root.mainloop()
这在 Windows 操作系统上运行良好。然而,这在 Ubuntu 上不起作用,除非我删除该行root.overrideredirect(True)
从上面的代码来看。
这是预期的行为吗?
或者有没有一种方法可以使我的程序在仍然使用的情况下工作root.overrideredirect(True)
?
Edit
我刚刚看到一个类似的问题在这里SO https://stackoverflow.com/questions/20287019/how-to-bind-tkinter-destroy-to-a-key-in-debian,Bryan Oakley 建议使用root.focus_force()
但这没有帮助。
Edit 2
I used root.attributes('-fullscreen', True)
代替root.overrideredirect(True)
按照建议here https://stackoverflow.com/a/20287877/2348704现在这似乎有效了。
尝试这个:
from tkinter import *
root = Tk()
root.bind('<Any-KeyPress>', quit())
root.mainloop()
假设您希望程序退出,请保留代码。如果您只想清除屏幕,只需使用root.destroy()
比较起来quit()
. Using root.overrideredirect(True)
不适用于 Ubuntu。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)