В настоящее время я работаю над приложением Qt Quick , в котором есть TableView , показывающее данные из внутренней модели , написанной в C ++ (это пользовательская модель, полученная из QAbstractListModel ).
Я хочу иметь возможность установить, какие строки могут быть выбраны пользователем, поэтому я думал расширить пользовательскую модель, переопределив функцию:
Qt::ItemFlags flags(const QModelIndex &index) const
Внесенное мной изменение не влияет на приложение, и после отладки я заметил, что flags функция никогда не вызывается никем (пробовал как с использованием точки останова, так и печати на консоли).
Я попробовал несколько вещей (даже изменив базовую модель с QAbstractListModel на QAbstractTableModel), но не понял почему это не работает.
В конце я попытался запустить официальный пример ( Примеры Qt Quick TableView - Игра жизни Конвея ) предоставлено Qt Creator но у него такое же поведение (функция флагов переопределена, но никогда не вызывается).
Как эта функция должна работать?
Я использую Qt Creator 4.10 с Qt 5.13.1 MSVC2015 ( 64 бита).
Спасибо!