如何在特定 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 生成的名为 graphicsView
的 QGraphicsView
中。如果我用以下
替换导致错误的行
view = QtGui.QGraphicsView(scene, self)
然后图像显示,但在 QMainWindow
的左上角,在我的其他小部件之上。如何将展示位置限制为特定 QGraphicsView
?
我发现了这个极简主义的解决方案:
scene = QGraphicsScene(self)
scene.addPixmap(QPixmap.fromImage(qimage2ndarray.array2qimage(frame)))
self.graphicsView.setScene(scene)
如何将 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 生成的名为 graphicsView
的 QGraphicsView
中。如果我用以下
view = QtGui.QGraphicsView(scene, self)
然后图像显示,但在 QMainWindow
的左上角,在我的其他小部件之上。如何将展示位置限制为特定 QGraphicsView
?
我发现了这个极简主义的解决方案:
scene = QGraphicsScene(self)
scene.addPixmap(QPixmap.fromImage(qimage2ndarray.array2qimage(frame)))
self.graphicsView.setScene(scene)