Я использую Qt 5.6 и QStandardItemModel, заполненный QStandardItem, для отображения таблицы данных.Автоматический выбор обновления при отключении QStandardItem
Некоторые элементы включены, некоторые - нет.
Можно выбрать только разрешенные элементы (это нормальное поведение).
Но когда данные обновляются, некоторые элементы с включенным состоянием могут меняться, и это является источником моей проблемы. Рассмотрим следующий сценарий:
1 an item is enabled
2 the user select it
3 the item is selected
4 the data are updated, the item is now disabled
5 the item remain selected, despite it is disabled
И теперь, пользователь может взаимодействовать с отключенной пункта: откройте контекстное меню, редактировать ...
Это есть некоторые «обновление» метод в рамках модели Qt/представление что я могу позвонить, чтобы обновить выбранное состояние после изменения флага?
Или существует простой (и общий) способ решить эту проблему, для всех моих позиций? (Не все таблицы, не все они основаны на QStandardItem)
Благодаря
Я хочу сохранить текущий выбор (для элементов, которые все еще включены), вот в чем проблема! Эти данные изменяются, но только значения, и это действительно имеет смысл для пользователя сохранить текущий выбор. – Aurelien
@Aurelien Таким образом, свойство * enabled * зависит от изменения данных? Тогда вышеупомянутое решение может по-прежнему работать. В противном случае вам нужно самостоятельно переключить метод 'fixSelection', который должен работать на вас. – maxik
Да, включенное свойство зависит от изменения данных. Я не могу использовать ваше решение напрямую, из-за 2 причин: 1/с большим количеством элементов, есть удар производительности 2/он не работает с моделями, отличными от QStandardItem. Но я думаю, что в итоге получится аналогичная реализация – Aurelien