matplotlib pyplot具有一个名为waitforbuttonpress()的函数,该函数将根据在图形中接收到键盘还是鼠标事件来返回TrueFalse
由于即使用户使用常规图形工具(例如缩放)与图形进行交互,waitforbuttonpress()也会返回此类鼠标事件,因此,使用此功能的唯一方法如下:(假定缩放功能应该可用)

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


上面的内容将阻止直到按下键盘键(与鼠标事件相反,鼠标事件将被正常处理,例如缩放)

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

最佳答案

我不认为这是直接可能的,但是您可以从key_press_event获取键值,该键值将与waitforbuttonpress()同时触发:

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)

关于python - 调用matplotlib pyplot waitforbuttonpress()时获取键值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56669721/

10-11 08:58