Обновление данных в одном конкретном столбце QTableView

Имеется tableview, данные туда подгружаются из заранее отформатированного txt файла с помощью csv.reader и распределяются на столбцы и строки так, как мне требуется, с этим я справился.

Осталась одна проблема - необходимо сделать один столбец (последний) обновляемым.

В общем имеется источник данных - информация с регистров slave устройства(modbus), и эти данные должны динамически обновляться в последнем столбце и при этом, чтобы остальные столбцы оставались неизменными.

В качестве модели использую QtGui.QStandardItemModel.

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Alexander Chernin

Вы можете это сделать при помощи метода QStandartItemModel.setItem и сигнала QStandartItemModel.itemChanged.

Допустим, вот так:

# Получили новые данные для ячейки
newItem = QStandartItem()
newItem.setText(<Какое-то новое значение>)
lastColIdx = self.model.columnCount() -1
self.model.setItem(<индекс строки таблицы>, lastColIdx, newItem)

# Теперь надо сообщить всем, что данные в модели изменились
self.model.itemChanged.emit(newItem)
→ Ссылка