Название: [РЕШЕНО] Тормозит QTableView Отправлено: mutineer от Апрель 05, 2011, 12:38 Помогите пожалуйста.
Есть QTableView и модель, унаследованная от QAbstractTableModel. В модель довольно интенсивно добавляются данные. Добавленные данные тут же отображаются в QTableView. В методе data(...) модели имеется следующий код: Код: if(Qt::DisplayRole != role) Проблема в том, что таблица при наличии этих строк очень тормозит. Если же заменить эти строки на Код: if(Qt::DisplayRole != role) Название: Re: Тормозит QTableView Отправлено: Пантер от Апрель 05, 2011, 12:44 Ты точно уверен, что эти строки виноваты? Я нет.
Название: Re: Тормозит QTableView Отправлено: mutineer от Апрель 05, 2011, 12:46 Ничего другого не трогаю, меняю только указанную строчку и эффект налицо
Название: Re: Тормозит QTableView Отправлено: Пантер от Апрель 05, 2011, 12:48 Давай сюда полный код функции data.
Название: Re: Тормозит QTableView Отправлено: mutineer от Апрель 05, 2011, 12:53 Код: QVariant CxMsgModel::data(const QModelIndex &index, int role) const Название: Re: Тормозит QTableView Отправлено: Пантер от Апрель 05, 2011, 13:10 Цитировать но отображаются ненужные мне элементы Тут подробнее.Название: Re: Тормозит QTableView Отправлено: mutineer от Апрель 05, 2011, 13:12 Если возвращать на остальные роли не QVariant(), а любое другое значение (например пустую строку), то view будет отрисовывать элементы, на роли которых запросил данные. То бишь у всех ячеек появляются чекбоксы, место под иконку, всплывающая подсказка и прочее
Название: Re: Тормозит QTableView Отправлено: Пантер от Апрель 05, 2011, 13:15 Код
Название: Re: Тормозит QTableView Отправлено: mutineer от Апрель 05, 2011, 13:20 Это чисто виртуальный метод, я не могу его вызвать
Название: Re: Тормозит QTableView Отправлено: mutineer от Апрель 11, 2011, 11:12 Разобрался. Тормозило из-за автоматической высоты строки
|