matplotlib - Matplotlib key_press_event 永远不会在 macOS 后端触发
问题描述
我在后端使用 Matplotlib macosx
。我正在按照此处的示例连接一个简单的事件处理程序:
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()
到底是怎么回事?
解决方案
推荐阅读
- angular - Angular:测试 Http POST 方法
- sql - 将选择结果传递给 SQL 中的 like 运算符
- spring-boot - 如果基本身份验证请求即将到来,如何跳过 jwt 令牌身份验证?
- c++ - 澄清琐碎的析构函数
- react-native - React-Native AsyncStorage:我检索了一个数组,但后来它变成了数组的一个对象
- java - 在 spring boot 和 jersey 之间使用服务器发送事件时锁定线程
- python - 在opencv python中同步两个视频
- python - python - 如何避免重复数据馈送到python中的sqlite数据库?
- powershell - Powershell 用于通过路径自动发送邮件
- snowflake-cloud-data-platform - 在 Snowflake 中,如何正确授予对由另一个角色创建和编辑的数据库上的角色的读取权限?