Russian Qt Forum
Апрель 20, 2024, 05:17 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Автопрокрутка к посл. строке в QListWidget и QTableView  (Прочитано 7245 раз)
Xonix
Гость
« : Февраль 16, 2009, 22:54 »

Здравствуйте. Пишу на C++ в qt 4.3.4 под Linux.
Как реализовать автопрокрутку в таких виджетах: QListWidget и QTableView?

->setAutoScroll(); ->scrollTo() не помогают. Нужно чтобы всегда было видно последнюю строчку (как в инсталляторах).
Записан
igor_bogomolov
Гость
« Ответ #1 : Февраль 17, 2009, 10:17 »

Цитировать
void QAbstractItemView::scrollToBottom ()   [slot]

Scrolls the view to the bottom.

This function was introduced in Qt 4.1.

See also scrollTo() and scrollToTop().

Цитировать
void QAbstractItemModel::rowsInserted ( const QModelIndex & parent, int start, int end )   [signal]

This signal is emitted after rows have been inserted into the model. The new items are those between start and end inclusive, under the given parent item.

Например так:
Код
C++ (Qt)
connect(tableView->model(), SIGNAL(rowsInserted(const QModelIndex &, int, int)), tableView, SLOT(scrollToBottom()));
« Последнее редактирование: Февраль 18, 2009, 01:21 от igor_bogomolov » Записан
eugene.n
Гость
« Ответ #2 : Апрель 05, 2017, 14:24 »

Сделал QListView (c QAbstractItemModel) для ведения лога, который часто обновляется.
При довольно частой вставке элементов в модель (раз в 100мс.), соответственно, обновляется QListView. Все работает шустро, но если при каждой вставке прокручивать скроллбар вниз (scrollToBottom()), то виджет начинает тормозить.
Спасло setUniformItemSizes(), но это не мой случай, т.к. сообщения по высоте у меня разные.

Есть еще варианты оптимизировать QListView?
« Последнее редактирование: Апрель 05, 2017, 14:25 от eugene.n » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.067 секунд. Запросов: 20.