【问题标题】:How to embed vispy graph in PyQt?如何在 PyQt 中嵌入 vispy 图?
【发布时间】:2023-03-12 20:35:01
【问题描述】:

我正在尝试将一个 vispy 情节(更具体地说,一个 Vispy SceneCanvas)作为 QWidget 嵌入到 PyQt4 中。我想答案是这样的:

from PyQt4.QtCore import *
from PyQt4.QtGui import *
import vispy.mpl_plot as plt

app = QApplication(sys.argv)
win = QMainWindow()
plt.plot([1,2,3,4], [1,4,9,16])
vispyCanvas=plt.show()[0]
win.setCentralWidget(vispyCanvas)

但是,当我尝试这个时,最后一行给了我预期的错误,即 vispyCanvas 的类型是 SceneCanvas 而不是 QWidget 类型。当我print(vispyCanvas) 时,它会打印出<Vispy canvas (PyQt4 (qt) backend) at 0x142bcb00L>,这就是为什么我怀疑应该可以将它或其属性之一视为 QWidget 对象。

【问题讨论】:

    标签: python plot pyqt4 pyside vispy


    【解决方案1】:

    答案很简单:

    win.setCentralWidget(vispyCanvas.native)
    

    只要 vispy 使用 Qt 作为其后端,那么Canvas.native 指的是底层的QGLWidget

    【讨论】:

      猜你喜欢
      • 2018-02-08
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      • 1970-01-01
      • 2012-09-09
      相关资源
      最近更新 更多