Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Тормозит QTableView
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Модель/Представление
mutineer
Помогите пожалуйста.

Есть QTableView и модель, унаследованная от QAbstractTableModel. В модель довольно интенсивно добавляются данные. Добавленные данные тут же отображаются в QTableView.
В методе data(...) модели имеется следующий код:
if(Qt::DisplayRole != role)
        return QVariant();

Проблема в том, что таблица при наличии этих строк очень тормозит при добавлении новых данных. Если же заменить эти строки на
if(Qt::DisplayRole != role)
        return "";

то тормоза резко снижаются, но отображаются ненужные мне элементы. Возможно ли как-то уменьшить тормоза и почему вообще они появляются?
MoPDoBoPoT
Попробуй вначале метода data() объявить статическую переменную empty и возвращать её в данном случае:
...
static const QVariant empty;
...
if(Qt::DisplayRole != role)
        return empty;

Возможно, что тормоза из-за массового создания объектов QVariant.
mutineer
Цитата(MoPDoBoPoT @ 8.4.2011, 20:35) *
Попробуй вначале метода data() объявить статическую переменную empty и возвращать её в данном случае:
...
static const QVariant empty;
...
if(Qt::DisplayRole != role)
        return empty;

Возможно, что тормоза из-за массового создания объектов QVariant.


Не помогло
mutineer
Разобрался. Тормозило из-за автоматической высоты строки
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.