【问题标题】:Exporting a plot in GUI-less pyqtgraph在无 GUI 的 pyqtgraph 中导出绘图
【发布时间】:2014-07-07 11:52:46
【问题描述】:

我在一个脚本中使用了极好的pyqtgraph,它创建了一个绘图并将其导出到一个文件中(不使用交互功能)。效果很好。

但是,当在没有 X 服务器的远程机器上运行它时,mkQApp() 中会出现错误:

cannot connect to X server

有没有办法运行 pyqtgraph GUI-less-ly,消除对 X 的依赖?

我发现有一个 QtCore.QCoreApplication 类,据我了解,它是无 GUI 的。但是,我对 Qt 不够熟悉,无法判断它是否可以(或确实)与 pyqtgraph 一起使用。

【问题讨论】:

  • 认为答案是否定的——如果没有创建 QApplication,就无法让 QGraphicsView 渲染到图像。但是我没有输入答案,因为我希望其他人会告诉我们:)

标签: qt export pyqtgraph


【解决方案1】:

如果没有QApplication,则无法使用QGraphicsScene

>>> from PyQt4 import QtGui, QtCore
>>> app = QtCore.QCoreApplication([])
>>> scene = QtGui.QGraphicsScene()
Segmentation fault

不过,您应该可以在没有任何图形硬件的情况下使用xvfb,从而无需更改即可使用您常用的pyqtgraph脚本。

【讨论】:

  • 谢谢,使用 xvfb 效果很好。我知道限制源于 Qt 级别,但是是否可以在 pyqtgraph 中支持一些无 GUI 模式,从而避免使用不能无 GUI 工作的 Qt 类?还是 pyqtgraph 的核心功能已经严重依赖它们?
  • 目前,pyqtgraph 非常依赖 Qt GraphicsView 来生成所有图形。然而,一个长期目标是转而使用 OpenGL(通过 VisPy 项目)。这将提供许多新功能,包括无头渲染。
猜你喜欢
  • 2018-09-12
  • 2021-12-27
  • 2020-06-09
  • 2016-12-11
  • 2018-07-19
  • 2019-02-02
  • 2020-09-10
  • 2016-10-13
  • 2019-03-03
相关资源
最近更新 更多