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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTableWidget - как найти сколько рядов выводится на экран  (Прочитано 2305 раз)
alex2013
Гость
« : Июль 30, 2013, 13:51 »

Добрый день.

Есть форма и в ней я размещаю QTableWidget. В этом виджете 1 колонка и 1000 строк (рядов). Сам виджет имеет небольшую высоту и поэтому, по умолчанию на экране отображается к примеру первые 20 строчек + вертикальная полоса прокрутки, с помощью которой можно увидеть остальные элементы.

Вопрос такой:
как сделать так чтобы по умолчанию отображались сразу последние элементы в списке?

Если использовать функцию setCurrentCell(int row, int column), то как мне вычислить этот int row? Вычислить то его просто, надо от общего кол-ва строк отминусовать количество строк, которое отображается на экране. Но какой функцией узнать сколько строк поместилось на экране?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Июль 30, 2013, 14:08 »

Но какой функцией узнать сколько строк поместилось на экране?
Нет такой Грустный

Попробуй так:
Код
C++ (Qt)
tw->scrollToBottom();
if( QTableWidgetItem* i = tw->itemAt( 0, 0 ) )
tw->setCurrentItem( i );
 
Записан

Qt 5.11/4.8.7 (X11/Win)
alex2013
Гость
« Ответ #2 : Июль 30, 2013, 14:48 »

Попробуй так:
Код
C++ (Qt)
tw->scrollToBottom();
if( QTableWidgetItem* i = tw->itemAt( 0, 0 ) )
tw->setCurrentItem( i );
 


Спасибо. Пример помог, а именно функция scrollToBottom() решает мой вопрос.
« Последнее редактирование: Июль 30, 2013, 14:56 от alex2013 » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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