Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
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) Link Можно переопределить функции отвечающие за отсылку сообщения dataChange или процедуру отрисовки в *View переопределить в зависимость от времени последнего вызова. Не хотелось бы модифицировать базовые *View. Может есть базовый Qt API способ ? |
|
|
|
|
BRE |
10.2.2012, 13:47
Сообщение
#4
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44
|
Link
|
|
|
|
|
wiz29 |
10.2.2012, 13:51
Сообщение
#5
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: 12
|
если модель своя, то можно сделать следующее, заменить вызовы метода QAbstractItemModel::setData, вызовами другой (своей) функции, не производящей сигнал по каждому чиху. других способов я не знаю.
Цитата(BRE @ 10.2.2012, 14:47) Link Link жаль что этот механизм не реализован к Qt, очень часто нужен при интерактивной обработке данных. |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 28.12.2025, 6:00 |