Как reset модель в Qt?

Я использую Qt model/view framework. Когда я reset данные в модели, я должен reset модель, чтобы также обновлять просмотры. Как это сделать? Я нашел сигнал modelReset(QPrivateSignal); в QAbstractItemModel, это способ его решить? Как испустить сигнал? Спасибо.

Ответ 1

Вы вызываете beginResetModel() перед тем, как reset ваши данные, а затем endResetModel() по завершении. endResetModel() излучает частный сигнал.

Ответ 2

Как вы можете видеть здесь, предпочтительный метод - использовать функции beginResetModel() и endResetModel(), окружающие ваш код reset в ваш подкласс модели.

Это должно относиться к правильному испусканию сигнала.

Некоторые подклассы qabstractitemmodel могут позволить вам использовать model.removeRows(0,model.rowCount()) (другие потребуют, чтобы вы реализовали его самостоятельно)