我正在使用Tkinter GUI创建桌面应用程序,该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键没有反应?
PS。我正在使用Windows 10,Python 3.7.2
答案 0 :(得分:1)
您正在运行的BIOS,OS或窗口管理器很可能在将事件发送到tkinter之前对其进行了拦截。一个经典的例子是Windows上的ctrl-alt-delete,它不能被普通程序捕获。
如果是这种情况,您将无法在tkinter中解决此问题。