Я использую Qt model/view framework. Когда я reset данные в модели, я должен reset модель, чтобы также обновлять просмотры. Как это сделать? Я нашел сигнал modelReset(QPrivateSignal);
в QAbstractItemModel, это способ его решить? Как испустить сигнал? Спасибо.
Как reset модель в Qt?
Ответ 1
Вы вызываете beginResetModel()
перед тем, как reset ваши данные, а затем endResetModel()
по завершении. endResetModel()
излучает частный сигнал.
Ответ 2
Как вы можете видеть здесь, предпочтительный метод - использовать функции beginResetModel()
и endResetModel()
, окружающие ваш код reset в ваш подкласс модели.
Это должно относиться к правильному испусканию сигнала.
Некоторые подклассы qabstractitemmodel могут позволить вам использовать model.removeRows(0,model.rowCount())
(другие потребуют, чтобы вы реализовали его самостоятельно)