Отобразить QPixmap или QImage в ImageView в pyqtgraph - PullRequest
0 голосов
/ 29 января 2019

Я хочу отобразить массив RGBA в ImageView.Единственный способ, которым я в настоящее время могу это сделать, - это сделать QImage, а затем QPixmap и отобразить его в метке.Однако я хочу, чтобы он отображался в ImageView, чтобы дать ему все другие функции, которые я уже реализовал.Возможно ли это?

qimage = pg.fn.makeQImage(x)

pixmap = QtGui.QPixmap.fromImage(qimage)

imvOCTTopLeft.close()

elasticity = QtGui.QLabel()

layout.addWidget(elasticity,4,1)

elasticity.setPixmap(pixmap)

1 Ответ

0 голосов
/ 29 января 2019

Использовать ImageView.setImage (img) аргумент должен быть трехмерным массивом с формой (ширина, высота, 4).Последнее измерение - rgba в диапазоне от 0 до 1.

import pyqtgraph as pg
import numpy as np

if __name__ == '__main__':
    app = pg.mkQApp()
    w = pg.ImageView()
    image = np.array([np.array([np.array([1, i*0.01, i*j*0.0001, 1]) for i in range(100)]) for j in range(100)])
    w.setImage(image)
    w.show()
    app.exec()

Результат:

result

...