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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTableWidget - скролл на необходимую позицию  (Прочитано 5241 раз)
ChromVanadium
Гость
« : Октябрь 23, 2010, 14:57 »

Добрый день.

Возникла такая необходимость: есть QTableWidget, заполненный данными (номер заказа, заказчик, дата, менеджер и прочее). Таблица заполняется следующим образом - делается выборка заказов из базы данных, QTableWidget очищается и затем последовательно данные по заказам из запроса заносятся в QTableWidget.
При изменении данных по какому либо заказу эти данные заносятся в базу и соответственно таблицу необходимо обновить, чтобы стали видны изменения.

Вопрос такой: при заполнении QTableWidget с нуля он отображает данные начиная с первой строки (currentRow = 0), а мне необходимо, чтобы отображалось так, как было до перезаполнения QTableWidget.
Например: в QTableWidget есть 50 строк, на экране видны 20, начиная с 10-й строки, т.е. с 10-й по 30-ю. Сейчас при обновлении таблицы становятся видны с 1-й по 20-ю, а нужно чтобы после обновления снова было видно с 10-й по 30-ю.

QTableWidget используется потому, что в таблице много типов данных, которые отображаются разными цветами и шрифтами ( заполняю через setCellWidget ( int row, int column, QWidget * widget ), где widget это QLabel с html-текстом ).

К примеру в Delphi у TStringGrid есть переменная TopRow в которой содержится номер первой видимой строки. В Qt не нашел подобного.

Подскажите, пожалуйста, может быть кто-то уже сталкивался с подобным.
Записан
DOOMer
Чайник
*
Offline Offline

Сообщений: 95



Просмотр профиля
« Ответ #1 : Октябрь 23, 2010, 16:15 »

Используйте вот этот слот после обновления (передавая ему указатель на изменныный элемент таблицы):

Код
C++ (Qt)
void QTableWidget::scrollToItem ( const QTableWidgetItem * item, QAbstractItemView::ScrollHint hint = EnsureVisible )
Записан

Linux x86_64 && Qt 5.4.0 && Qt 4.8.6t && GCC 4.9.2
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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