如何抑制matplotlib事件的进一步处理

时间:2016-10-05 20:05:47

标签: python matplotlib

我正在使用matplotlib构建交互式图形应用程序。我希望它与现有的#34; pan"和"缩放"默认matplotlib GUI的功能,但我也想掩盖一些键击。我的问题是,我不知道如何抑制GUI对这些击键的默认响应。例如,GUI通过退回历史记录中的一个视图来响应退格键:我想用我自己的自定义行为替换此行为:

def KeyUp(event):

    if event.key.lower() == 'backspace':
        RespondToBackspace()
        PreventAnybodyElseRespondingToBackspace()  # HOW??

import matplotlib.pyplot as plt
cid = plt.gcf().canvas.mpl_connect( 'key_release_event', KeyUp )

我找不到关于取消或取消事件处理的文档,并且在我的搜索字词上已经没有创意了。推测性地认为这个机制会像在其他工具箱中一样工作,我尝试从回调中返回TrueFalse,但没有效果(即"后退一个视图" ;当我按退格键时,行为仍然会发生,同时还有我的自定义响应。

这可能吗?

1 个答案:

答案 0 :(得分:0)

来自tacaswell上面的评论:

回调存储在字典中,因此无法保证调用它们的顺序。回调返回值被忽略。

解决方案是更改matplotlib.rcParams['keymap.back'],使其不包含'backspace'