如何在特定 QGraphicsView 上将 2D numpy.ndarray 显示为像素值的集合?

How do I display a 2D numpy.ndarray as a collection of pixel values on a specific QGraphicsView?

如何将 2D numpy.ndarray 显示为 QGraphicsView 上的像素值集合? pylab.imshow() 如果我不尝试制作 GUI,通常会在此时使用。

frame = array([[ 56.,  57.,  58., ...,  58.,  58.,  58.],
       [ 52.,  58.,  58., ...,  56.,  57.,  59.],
       [ 56.,  55.,  58., ...,  57.,  57.,  58.],
       ..., 
       [ 53.,  55.,  55., ...,  54.,  54.,  53.],
       [ 54.,  57.,  56., ...,  53.,  54.,  59.],
       [ 55.,  57.,  54., ...,  56.,  58.,  57.]])

我的尝试:

scene = QGraphicsScene(self)                                            
scene.addPixmap(QPixmap.fromImage(qimage2ndarray.array2qimage(frame)))
view = self.graphicsView(scene, self) # Error from this line
self.graphicsView = QtGui.QGraphicsView(scene, self)
view.show()

TypeError: 'QGraphicsView' object is not callable。我想专门将场景添加到 QT Designer 生成的名为 graphicsViewQGraphicsView 中。如果我用以下

替换导致错误的行
view = QtGui.QGraphicsView(scene, self)

然后图像显示,但在 QMainWindow 的左上角,在我的其他小部件之上。如何将展示位置限制为特定 QGraphicsView?

我发现了这个极简主义的解决方案:

scene = QGraphicsScene(self)            
scene.addPixmap(QPixmap.fromImage(qimage2ndarray.array2qimage(frame)))
self.graphicsView.setScene(scene)