Название: Автопрокрутка к посл. строке в QListWidget и QTableView Отправлено: Xonix от Февраль 16, 2009, 22:54 Здравствуйте. Пишу на C++ в qt 4.3.4 под Linux.
Как реализовать автопрокрутку в таких виджетах: QListWidget и QTableView? ->setAutoScroll(); ->scrollTo() не помогают. Нужно чтобы всегда было видно последнюю строчку (как в инсталляторах). Название: Re: Автопрокрутка к посл. строке в QListWidget и QTableView Отправлено: igor_bogomolov от Февраль 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. Например так: Код
Название: Re: Автопрокрутка к посл. строке в QListWidget и QTableView Отправлено: eugene.n от Апрель 05, 2017, 14:24 Сделал QListView (c QAbstractItemModel) для ведения лога, который часто обновляется.
При довольно частой вставке элементов в модель (раз в 100мс.), соответственно, обновляется QListView. Все работает шустро, но если при каждой вставке прокручивать скроллбар вниз (scrollToBottom()), то виджет начинает тормозить. Спасло setUniformItemSizes(), но это не мой случай, т.к. сообщения по высоте у меня разные. Есть еще варианты оптимизировать QListView? |