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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Определить размер QTableWidget  (Прочитано 6082 раз)
hotsanchous
Гость
« : Июль 09, 2010, 06:41 »

Мне необходимо узнать размер видимой области QTableWidget, чтобы определить сколько строк в него войдет до момента начала скроллинга.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Июль 09, 2010, 07:29 »

QTableWidget::viewport()->size()
Записан

Qt 5.11/4.8.7 (X11/Win)
hotsanchous
Гость
« Ответ #2 : Июль 09, 2010, 07:41 »

QTableWidget::viewport()->size()
я тоже так думал но когда пишу
Код:
qDebug() << "size = " << ui->tableWidget_1->viewport()->size();
в ответ выдается одно и тоже(size =  QSize(98, 5)), хотя размер таблицы я меняю. От сюда впечатление что выдается размер ячейки.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #3 : Июль 09, 2010, 10:31 »

Ну, тогда так:
Код
C++ (Qt)
ui->tableWidget_1->height() - ui->tableWidget_1->horizontalHeader()->height() -
ui->tableWidget_1->minimumHeight() - ui->tableWidget_1->horizontalScrollBar()->height()
« Последнее редактирование: Июль 09, 2010, 10:41 от GreatSnake » Записан

Qt 5.11/4.8.7 (X11/Win)
SABROG
Гость
« Ответ #4 : Июль 09, 2010, 10:57 »

Мне необходимо узнать размер видимой области QTableWidget, чтобы определить сколько строк в него войдет до момента начала скроллинга.
Размеры строк могут быть разными. При одинаковом размере вьюпорта в него может войти как 100 итемов, так и 1. Если жестко задать общий размер для всех строк, то обычной математической операцией можно вычислить количество элементов, которое теоретически может войти в окно: Высота вьюпорта/Высота элемента = приблизительное количество элементов (+/- 1), зависит от округления.

Цитировать
QSize(98, 5)
Размеры окна меняются, а размер вьюпорта видимо зависит от количества элементов которое в данный момент показываются.
« Последнее редактирование: Июль 09, 2010, 10:59 от SABROG » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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