我有一个函数,我试图通过按键盘上的两个键来调用它。示例:Ctrl+N
self._first_event = None
self._second_event = None
def function(self, event):
if self._first_event == None:
self._first_event = event
else:
self._second_event = event
if self._first_event == 'Ctrl' and self._second_event == 'n':
return someotherfunction()
我尝试了这段代码,但它没有调用 someotherfunction()
最佳答案
此代码正在执行您想要实现的目标:
from tkinter import *
def someotherfunction(e=None):
print('It works !')
root = Tk()
root.bind('<Control-n>', someotherfunction)
root.mainloop()
我认为这是比您尝试的更正确的方法。顺便说一句,如果你看 documentation 事件对象的它包含多个内容,因此您无法将其与这样的字符串进行比较。您应该使用event.keysym
例如。
注意:
<a>
对应A
<A>
对应Shift+A
<Control-n>
对应Ctrl+N
<Control-N>
对应Ctrl+Shift+N
关于Python 3 tkinter键盘快捷键调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44324377/