Любой способ "массовой загрузки" модели данных Qt, чтобы избежать лишних вызовов? - PullRequest
2 голосов
/ 18 июня 2009

У меня есть QStandardItemModel с некоторыми вручную реализованными функциями "выбрать все". Это перебирает и обновляет данные для всех элементов (или определенных элементов - там задействован фильтр). Проблема в том, что у меня есть несколько слотов, подключенных к сигналу dataChanged модели, и я не хочу, чтобы они вызывались на каждом этапе пути, когда пользователь делает «выбрать все», а модель содержит тысячи записей.

Есть ли способ установить несколько элементов одновременно в модели, и dataChanged выдается только один раз за все изменение?

Спасибо за любые идеи!

1 Ответ

4 голосов
/ 18 июня 2009

Попробуйте использовать метод QObject :: blockSignals для объекта, излучающего сигналы. Это позволит вам подавить, а затем восстановить генерацию сигнала. Очень полезно именно для этого типа операции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...