Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt GUI _ Частое обновление ItemModel

Автор: ssoft 10.2.2012, 8:58

Привет всем.

Для отображения данных в табличном виде я использую модель данных, порожденную от QAbstractItemModel.
Из-за частого обновления данных модель постоянно сигналит dataChanged( ... );

При отображении модели ни QTableView, ни QTreeView не справляется. Т.е. для таких частых отрисовок не хватает производительности компа.
Есть ли стандартный способ копить изменения, а затем отображать их за один раз, например, раз в пол секунды ?


Автор: wiz29 10.2.2012, 9:30

Можно переопределить функции отвечающие за отсылку сообщения dataChange или процедуру отрисовки в *View переопределить в зависимость от времени последнего вызова.

Автор: ssoft 10.2.2012, 13:35

Цитата(wiz29 @ 10.2.2012, 10:30) *
Можно переопределить функции отвечающие за отсылку сообщения dataChange или процедуру отрисовки в *View переопределить в зависимость от времени последнего вызова.


Не хотелось бы модифицировать базовые *View. Может есть базовый Qt API способ ?

Автор: BRE 10.2.2012, 13:47

http://www.prog.org.ru/topic_15938_0.html

Автор: wiz29 10.2.2012, 13:51

если модель своя, то можно сделать следующее, заменить вызовы метода QAbstractItemModel::setData, вызовами другой (своей) функции, не производящей сигнал по каждому чиху. других способов я не знаю.

Цитата(BRE @ 10.2.2012, 14:47) *
http://www.prog.org.ru/topic_15938_0.html

жаль что этот механизм не реализован к Qt, очень часто нужен при интерактивной обработке данных.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)