crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> QListWidget медленная прокрутка
2th3sky
  опции профиля:
сообщение 20.11.2009, 15:07
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 18.11.2009
Пользователь №: 1239

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




Репутация:   0  


Использую QListWidget для отображения списка кастом виджетов используя setItemWidget() метод. CustomWidget представляет из себя QWidget с набором контролов (два QLabel с картинками, несколько QLabel с текстом).
Реализовал прокрутку с использованием методов
void CustomListWidget :: mouseMoveEvent (QMouseEvent * event)
{
    int y_pos = event->y();
    int diff = last_y_pos - y_pos;
    if(diff == 0)
        return;
    
    if((last_diff != -1) && ((diff < 0) != (last_diff < 0)))
    {
        last_y_pos = y_pos;
    }
    
    last_diff = diff;
    verticalScrollBar()->setValue(verticalScrollBar()->value() + diff); // move scrollbar here
    last_y_pos = y_pos;
    QListWidget::mouseMoveEvent(event);
}

void CustomListWidget :: mousePressEvent (QMouseEvent * event)
{
    int y_pos = event->y();
    last_diff = -1;
    last_y_pos = y_pos;
    QListWidget::mousePressEvent(event);
    
}


Но прокрутка при этом подтормаживает. Как ускорить прокрутку? Скорее всего проблема в постоянной перерисовке всех контролов. Какие есть способы решения данной проблемы?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 23.12.2024, 7:41