Matplotlib key_press_event永远不会在macosx后端中触发

时间:2018-11-29 00:08:18

标签: matplotlib

我正在将Matplotlib与macosx后端一起使用。我正在按照示例here连接一个简单的事件处理程序:

import matplotlib.pyplot as plt

def _on_keypress(event):
    print('Hit on_keypress()')

plt.connect('key_press_event', _on_keypress)
# Call plt.plot() a few times ... 
plt.show()

当我从终端运行此脚本时,会显示一个数字,但按键会显示终端中的已按下键,并且从未调用_on_keypress

似乎绘图窗口没有以某种方式聚焦?但是,无论我单击该图还是该终端,我都会得到相同的行为(字符进入终端)。

如果打开调试器,则可以确认处理程序已附加到画布上:

(Pdb) fig = plt.gcf()
(Pdb) fig.canvas.key_press_event('a')
Hit on_keypress()

这是怎么回事?

0 个答案:

没有答案