【发布时间】:2017-06-08 23:01:06
【问题描述】:
我正在使用 Python 和 Tkinter 构建一个 GUI 应用程序。 我想控制程序在用户关闭时的行为。
我安装了一个新的WM_DELETE_WINDOW 协议,使用:
root = Tk()
root.protocol("WM_DELETE_WINDOW", lambda: closes_gracefully())
当用户点击标题栏上的X 按钮时,这确实有效,但当用户按下 ALT+F4 时,它就无效了。
我尝试绑定键序列:root.bind("<Alt-F4>", lambda: closes_gracefully()),但没有成功。
如何捕获 ALT+F4 事件?
【问题讨论】:
-
lambda: closes_gracefully()只是closes_gracefully,顺便说一句。 -
刚刚在我的应用中尝试过,这对我来说效果很好:
self.bind('<Alt-Key-F4>', self.whatever_your_want) -
您当前的代码对我来说很好。请添加minimal reproducible example。
-
请注意:Alt+F4 取决于平台,例如 Mac 使用 Cmd+Q / Cmd+W。