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 Horizontal (column) Header 添加一个复选框
matplotlib 不导入 PyQt4、PyQt5 或 PySide