我正在尝试创建一个tkinter应用程序,该应用程序检查是否连续按下了两个键。例如,如果用户按“:”,然后按Enter键。有没有办法在tkinter中使用关键事件来做到这一点?
我已尝试执行以下操作,但不起作用。
if key_pressed == ':':
if key_pressed == '<Enter>':
print("ok")
答案 0 :(得分:0)
一种方法是为每个按键保存一个状态,该状态存储最后按下的按键:
from tkinter import *
root = Tk()
last_key = None
def keypress_handler(event):
global last_key
key_pressed = event.keysym
print(key_pressed)
if key_pressed == 'b':
if last_key == 'a':
print('Pressed first "a" and then "b"')
last_key = key_pressed
root.bind('<KeyPress>', keypress_handler)
root.mainloop()
如果要使用shift,ctrl或alt等修饰符,则必须将其过滤掉,因为它们还会生成按键事件。