![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
flankerr |
![]() ![]()
Сообщение
#1
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
Есть диалог на нём есть QTreeView надо узнать ширину заголовка для того чтобы правильно установить размеры колонок.
QTreeView::size().width(); выдаёт адекватный размер ,но ширина заголовка(QHeaderView) меньше чем ширина QTreeView, поэтому использовать ширину QTreeView нельзя иначе появляется горизонтальная прокрутка. header()->viewport()->size().width(); header()->size().width(); Эти два метода выдают одинаковый результат и он тоже не тенят на искомый (на порядок меньший) Сообщение отредактировал flankerr - 16.9.2009, 17:37 |
|
|
![]() |
flankerr |
![]()
Сообщение
#2
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
SABROG,
Читай внимательней;) "Сумма всех колонок НЕ РАВНА ширине выделенной области под заголовок!" Уж не знаю как ещё объяснить то... надо сделать руками то что делает автоматом вызов header()->setResizeMode(2,QHeaderView::Stretch); точнее то что должен делать но НЕ делает! Совсем на пальцах в наджеде что так меня уж тчоно поймут: Допустим Х1 это ширина первой колонки Х2 ширина второй колонки Х3 ширина третье колонки. Y - это сумма всех колонок. Получаем Х1 + Х2 + Х3 = Y1 Однако есть ещё Z - ширина области видимости и Z не равна Y Задача: Найти такое Х2 при котором Y будет равно Z Эта задачка для Х3 решается вызовом setStretchLastSection Для не последней, а прозвольной колонки должна решаться вызовом header()->setResizeMode(Х2,QHeaderView::Stretch); Однако в Qt4.3.3 содержиться БАГ и это функция НЕ работает! ps: Rocky и SABROG, вы предлогаете искать Y а мне надо узнать Z Сообщение отредактировал flankerr - 17.9.2009, 10:21 |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 18.6.2025, 12:38 |