Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: alex2013 от Июль 30, 2013, 13:51



Название: QTableWidget - как найти сколько рядов выводится на экран
Отправлено: alex2013 от Июль 30, 2013, 13:51
Добрый день.

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

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

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


Название: Re: QTableWidget - как найти сколько рядов выводится на экран
Отправлено: GreatSnake от Июль 30, 2013, 14:08
Но какой функцией узнать сколько строк поместилось на экране?
Нет такой :(

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


Название: Re: QTableWidget - как найти сколько рядов выводится на экран
Отправлено: alex2013 от Июль 30, 2013, 14:48
Попробуй так:
Код
C++ (Qt)
tw->scrollToBottom();
if( QTableWidgetItem* i = tw->itemAt( 0, 0 ) )
tw->setCurrentItem( i );
 


Спасибо. Пример помог, а именно функция scrollToBottom() решает мой вопрос.