У меня есть виджет PyQtGraph, который я использую для отображения обработанных массивов из фреймграббера. Поток получает их, помещает эти данные в очередь, а другой поток получает эти данные из очереди и вызывает обновление (данные) в моем виджете. Данные представляют собой относительно небольшой (400 * 100) массив numpy.
class BScanView(PyQtG.GraphicsLayoutWidget):
def __init__(self, aspect=0.5):
super().__init__()
self.aspect = aspect
self.viewbox = self.addViewBox(row=1,col=1)
self.viewbox.setAspectLocked()
self.image = PyQtG.ImageItem()
self.viewbox.addItem(self.image)
def update(self, data):
self.image.clear()
self.image.setImage(data, autoLevels=False, levels=(-100, -2))
QtGui.QGuiApplication.processEvents()
Это работает какое-то время, но случайным образом приводит к сбою ImageItem. Остальной графический интерфейс работает нормально для последующего использования, но приведенный выше виджет не отвечает.