crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Частое обновление ItemModel
ssoft
  опции профиля:
сообщение 10.2.2012, 8:58
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 130
Регистрация: 17.2.2010
Из: Москва
Пользователь №: 1470

Спасибо сказали: 30 раз(а)




Репутация:   3  


Привет всем.

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

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

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
wiz29
  опции профиля:
сообщение 10.2.2012, 9:30
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 600
Регистрация: 7.7.2010
Из: Санкт-Петербург
Пользователь №: 1866

Спасибо сказали: 94 раз(а)




Репутация:   12  


Можно переопределить функции отвечающие за отсылку сообщения dataChange или процедуру отрисовки в *View переопределить в зависимость от времени последнего вызова.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ssoft
  опции профиля:
сообщение 10.2.2012, 13:35
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 130
Регистрация: 17.2.2010
Из: Москва
Пользователь №: 1470

Спасибо сказали: 30 раз(а)




Репутация:   3  


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


Не хотелось бы модифицировать базовые *View. Может есть базовый Qt API способ ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 10.2.2012, 13:47
Сообщение #4


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


http://www.prog.org.ru/topic_15938_0.html
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
wiz29
  опции профиля:
сообщение 10.2.2012, 13:51
Сообщение #5


Старейший участник
****

Группа: Участник
Сообщений: 600
Регистрация: 7.7.2010
Из: Санкт-Петербург
Пользователь №: 1866

Спасибо сказали: 94 раз(а)




Репутация:   12  


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

Цитата(BRE @ 10.2.2012, 14:47) *

жаль что этот механизм не реализован к Qt, очень часто нужен при интерактивной обработке данных.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 1.12.2020, 2:42