Обновление данных в одном конкретном столбце 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)
