我正在使用Tkinter GUI创建一个桌面应用程序,该应用程序使用Control+Alt + F1热键。但不幸的是,当我按下这些键时,Tkinter 不会调用该函数。
我已经尝试过root.bind("<Control-Alt-Key>", function)
,它有效。我什至尝试使用root.bind("<Control-Shift-F1>", function)
- 它也有效。
try:
# for Python 3
from tkinter import *
except:
# for Python 2
from Tkinter import *
root = Tk() # create the root window
# create bindings for root window
root.bind("<Control-Alt-F1>", lambda event: print("Ctrl+Alt+F1 pressed!"))
root.bind("<Control-Shift-F1>", lambda event: print("Ctrl+Shift+F1 pressed!"))
root.mainloop() # start the mainloop
为什么 Tkinter 对 Control+Alt+F1 按键没有反应?
附言。我正在使用Windows 10,Python 3.7.2
最有可能的是,您正在运行的 bios、OS 或窗口管理器在将事件发送到 tkinter 之前正在拦截该事件。一个典型的例子是窗口上的ctrl-alt-delete,普通程序无法捕获。
如果是这种情况,您在 tkinter 中无法解决此问题。