PySide 代替 PyQt4 作为 matplotlib Qt4Agg 后端的先决条件

Posted

技术标签:

【中文标题】PySide 代替 PyQt4 作为 matplotlib Qt4Agg 后端的先决条件【英文标题】:PySide instead of PyQt4 as the prerequisite for matplotlib Qt4Agg backend 【发布时间】:2014-02-01 06:17:58 【问题描述】:

关于在 matplotlib 中使用 Qt4Agg 后端的先决条件,我有一个简短的问题。在documentation 中,它说Qt4Agg 需要PyQt4。但是,由于 matplotlib 现在可以与 PySide 而不是 PyQt4 完美配合,我可以只安装 PySide 吗?我还需要安装 PyQt4 才能让 matplotlib 与 Pyside 一起工作吗?

我问这个问题是因为在 example 使用 matplotlib 和 PySide 中,后端必须切换到 Qt4Agg 并且根据文档需要 PyQt4。

谢谢!

【问题讨论】:

【参考方案1】:

在您的 rcparam 文件中添加该行

backend.qt4 : PySide        # PyQt4 | PySide

【讨论】:

【参考方案2】:

您只需要安装 Pyside。然后做这样的事情

os.environ['QT_API'] = 'pyside' 
from matplotlib import use
use('Qt4Agg') 
import pylab as plt

【讨论】:

您可以使用 rcparams 执行此操作,而无需弄乱环境变量。在手机上查找确切的值名称很困难。【参考方案3】:

除了接受的答案,如果不想修改rcParam文件:

from matplotlib import rc
rc('backend', qt4="PySide")

【讨论】:

以上是关于PySide 代替 PyQt4 作为 matplotlib Qt4Agg 后端的先决条件的主要内容,如果未能解决你的问题,请参考以下文章

将 vtkOrientationMarkerWidget 与 QVTKRenderWindowInteractor 一起使用 [PyQt4/PySide]

使用 PyQt4 或 PySide 捕获屏幕,除了特定的小部件?

PySide/PyQt4:向 QTableWidget Horizo​​ntal (column) Header 添加一个复选框

matplotlib 不导入 PyQt4、PyQt5 或 PySide

Qt/PyQt4/PySide QDateEdit 日历弹窗掉屏

如何使用 PySide 获取 Maya 主窗口指针?