Python 调用matplolib pyplot waitforbuttonpress()时获取键值

Python 调用matplolib pyplot waitforbuttonpress()时获取键值,python,matplotlib,Python,Matplotlib,matplotlib pyplot有一个名为waitforbuttonpress()的函数,该函数将返回True或False,具体取决于在图形中是否接收到键盘或鼠标事件。 由于此类鼠标事件由waitforbuttonpress()返回,即使用户使用普通图形工具(如缩放)与图形交互,使用此功能的唯一方法如下:(假设缩放功能可用) 上述操作将一直阻止,直到按下键盘键为止(与正常处理的鼠标事件相反,例如用于缩放) 有没有办法知道按下了哪个键来区分不同的选择?我不认为这是直接可能的,但是你可以从一个按键

matplotlib pyplot有一个名为
waitforbuttonpress()
的函数,该函数将返回
True
False
,具体取决于在图形中是否接收到键盘或鼠标事件。 由于此类鼠标事件由
waitforbuttonpress()
返回,即使用户使用普通图形工具(如缩放)与图形交互,使用此功能的唯一方法如下:(假设缩放功能可用)

上述操作将一直阻止,直到按下键盘键为止(与正常处理的鼠标事件相反,例如用于缩放)


有没有办法知道按下了哪个键来区分不同的选择?

我不认为这是直接可能的,但是你可以从一个
按键事件中获取键值,该事件将与
waitforbuttonpress()
同时触发:

while not plt.waitforbuttonpress(): pass  #ignore mouse events use by zomming ...
import matplotlib.pyplot as plt

the_key = None

def press(event):
    global the_key
    the_key = event.key

plt.figure()
plt.plot([1, 4, 6])
plt.gcf().canvas.mpl_connect('key_press_event', press)
while not plt.waitforbuttonpress(): pass  # ignore mouse events use by zomming ...
print("You pressed: ", the_key)