如何以使用 qtdesigner 创建的表单显示 pyqtgraph 图像?

Posted

技术标签:

【中文标题】如何以使用 qtdesigner 创建的表单显示 pyqtgraph 图像?【英文标题】:How to display a pyqtgraph image in a form created with qtdesigner? 【发布时间】:2019-11-02 21:12:24 【问题描述】:

我创建了一个表单,将GraphicsView 放在上面,将小部件提升为pg.GraphicsWindow

现在我可以用q.addPlot() 绘制图表,但是如何显示图像?

示例中建议的方式

    z = pg.ImageItem(np.zeros((200,200)))
    im = self.q.addItem(z)

不适用于以下错误消息:

  addItem(self, QGraphicsLayoutItem, int, int, alignment: Union[Qt.Alignment,  
  Qt.AlignmentFlag] = Qt.Alignment()): argument 1 has unexpected type 'ImageItem'

【问题讨论】:

【参考方案1】:

由于某种原因,它看起来好像应该被包装到 ViewBox 中:

    img_data = np.flipud(np.array(Image.open(r'd:\image.png')))
    img = pg.ImageItem(img_data.transpose([1, 0, 2]))
    # or img = pg.ImageItem(np.zeros((200,200)))
    vb = self.q.addViewBox()
    vb.addItem(img)

【讨论】:

以上是关于如何以使用 qtdesigner 创建的表单显示 pyqtgraph 图像?的主要内容,如果未能解决你的问题,请参考以下文章

获取 Qt 小部件以更新使用 Qt Designer 制作的 Qt 表单中的鼠标事件

如何将 QtDesigner ui 表单加载到另一个 ui 表单的 QFrame 中?

QtDesigner中如何制作导入图片的工具? [关闭]

使用 Qt Designer 表单和 PyQt5 在 QWidget 中绘制 matplotlib 图形

如何在 pyqt GUI(QTdesigner)中显示“运行”控制台?

可以在 QtDesigner 的单个 .ui 文件中定义多个表单吗?