root.overrideredirect 和 绑定

2024-01-12

我希望以下程序退出<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(使用前将#替换为@)

root.overrideredirect 和 绑定 的相关文章

随机推荐