![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
tradmir@mail.ru |
![]()
Сообщение
#1
|
Студент ![]() Группа: Новичок Сообщений: 14 Регистрация: 30.12.2013 Пользователь №: 4019 Спасибо сказали: 5 раз(а) Репутация: ![]() ![]() ![]() |
В QtableWidget вроде можно получить размеры всех ячеек таблицы.
Однако вызывает затруднение определение ширины самой левой колонки, где обычно "вертикальные" заголовки. Вроде можно определить по логическому индексу заголовка. Также не могу определить высоту горизонтального заголовка, тоже хотелось бы знать, размеры левой верхней клетки или ее логический индекс. В некоторых случаях колонки может не быть, например, headerType = "columns", или нет горизонтальных заголовков headerType = "rows" Когда речь идет о внутренних клетках - проблем нет. Непонятно как быть с столбцом вертикальных заголовков и со строкой горизонтальных. Левый верхний угол вообще живет своей жизнью. С уважением, Радмир |
|
|
![]() |
Алексей1153 |
![]()
Сообщение
#2
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
tradmir@mail.ru, я, наверное, не понимаю, про какой левый столбец речь. Есть клетки таблицы, есть левый хидер, есть верхний хидер. Всё это лежит на виджете viewport(). Все размеры можно найти, исходя из этих данных
|
|
|
tradmir@mail.ru |
![]()
Сообщение
#3
|
Студент ![]() Группа: Новичок Сообщений: 14 Регистрация: 30.12.2013 Пользователь №: 4019 Спасибо сказали: 5 раз(а) Репутация: ![]() ![]() ![]() |
tradmir@mail.ru, я, наверное, не понимаю, про какой левый столбец речь. Есть клетки таблицы, есть левый хидер, есть верхний хидер. Всё это лежит на виджете viewport(). Все размеры можно найти, исходя из этих данных Ширину и высоту i - того столбца таблицы можно получить по вызову функции: ui->tableWidget->columnWidth(i); ui->tableWidget->rowHeight(i); Это точное значение. Для определения ширины вертикального заголовка /высоты горизонтального нужно использовать функцию QSize hint = ui->tableWidget->verticalHeader()->sizeHint(); /QSize hint = ui->tableWidget->horizontalHeader()->sizeHint(); и выбрать максимальное значение ширины(высоты) по всем вертикальным (горизонтальным) заголовкам. Эта функция определяет расчетный размер обращаясь к protected функции sectionSizeFromContents. Максимальное значение + несколько пикселов для небольших полей и определит ширину/высоту левой верхней ячейки при наличии заголовков. Это решение меня устраивает. Вопрос закрыт. С уважением, Радмир |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 18.2.2025, 1:05 |