将信号从matplotlib图重定向到PyQt4 QMainWindow

时间:2013-12-13 16:18:06

标签: python matplotlib pyqt4

我有一个PyQt4 Gui,可以产生几个数字。

有些数字有自己的鼠标点击事件,我使用mpl_conect进行交互。

我的PyQt4主窗口有多个快捷键操作。我将使用 Ctrl + S 作为示例。当QMainWindow聚焦时,一切都按预期工作。

我的问题是:当我专注于Matploblib图而不是QMainWindow时,如何获取 Ctrl + S 等信号。

1 个答案:

答案 0 :(得分:0)

答案结果很简单。我觉得很容易忽视它。

您需要将QAction的shortcutContext设置为Application Shortcut而不是Window Shortcut。另外,请禁用mpl键按事件,您可以使用以下代码:

      mpl_keypress_shortcuts = [key for key in matplotlib.rcParams.keys() if key.find('keymap') == 0]
      #for key in mpl_keypress_shortcuts:
          #print('%s = %s' % (key, matplotlib.rcParams[key]))
      # Disable mpl shortcuts
      for key in mpl_keypress_shortcuts:
          matplotlib.rcParams[key] = ''