Возможны 2 сценария, но в любом случае вам понадобятся как минимум 2 объекта следующим образом:
Объект данных
Содержит все функции, необходимые для обслуживания и управления данными. Данные хранятся в указателях на объекты, описывающие данные. Структуры данных для этого я оставлю на ваше усмотрение.
Модель
Содержит вектор указателей на данные, которые отображаются в данный момент
Сценарий 1
Данные в QTableView
отображаются только в этом случае, при сигнале QTimer
или другом сигнале хранение данных блокируется, а вектор для модели дисплея обрезается и помещается в модель и reset()
вызывается для перекраски QTableView
с новыми данными.
Сценарий 2
Вы можете манипулировать данными с помощью пользовательских ItemEditor
в QTableView
. В этом случае верхний виджет с QTableView
должен иметь ссылки на ваш объект данных и QTableView
и обработчик сигнала для сигнала, излучаемого ItemEditor
, когда редактирование завершено. Этот обработчик сигнала затем заблокирует структуру данных внутри объекта данных и обновит ее, как только это будет сделано, он может обрезать новый вектор для отображения, но чаще всего не будет.
Как настроить блокировку, поиск и т. Д., Зависит только от вас.