QTreeWidget, Как узнать ширину? |
Здравствуйте, гость ( Вход | Регистрация )
QTreeWidget, Как узнать ширину? |
flankerr |
31.3.2008, 15:17
Сообщение
#1
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
Есть QTreeWidget
как узнать ширину в пикселах всей области ? Ну предположим... setColumnCount(5); setColumnWidth(0,7); setColumnWidth(1,8 ); setColumnWidth(2,12); setColumnWidth(3,70); setColumnWidth(4,6); Надо сделать размер виджета таким чтобы вывести все колонки без гризонтального скролинга. header()->width() frameGeometry().width(); frameSize().width(); rect().width(); size().width(); всё это выдаёт значения ощутимо меньше чем реальная ширина. |
|
|
Litkevich Yuriy |
31.3.2008, 17:31
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
я в свое время бился в Борланде, вроде с таблицей, и понял такой момент часть пикселей терялась на отрисовку тней (3D эффект), но это было 8 пикселей, если у тебя цифры примерно такие же, то попробуй добавлять константу, я во всяком случае не нашел тогда иного решения.
|
|
|
flankerr |
31.3.2008, 17:50
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
это искусственное решение - читай просто уход от решения.
У меня не что аналогичное сделано т.е. я складываю установленные значиния шрины для каждой колонки прибавляю количество колонок и прибавляю два. Полдучается практически то что надо. НО это фигня полная... както ведь моно узнать ширину..... |
|
|
Litkevich Yuriy |
31.3.2008, 18:25
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Непонял зачем кол-во колонок прибавляешь?
я делал так: последняяколнка.ширина=(общая ширина+-(сумма ширин колонок без последней) т.е. регулировал последнюю, но можно и любую другую разумеется колонок всего было 5, с восьмеркой не бьется, но на вскидку это по 4 пикселя с каждой стороны на отрисовку 3D |
|
|
flankerr |
1.4.2008, 9:45
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
не суть.
все это танцы с бубном и подгонка под конкретный интерфейс. Измениться интерфейс и всё "поедет" to all: что и правду ни кто не знает ????? |
|
|
Гость_Дмитрий_* |
1.4.2008, 15:01
Сообщение
#6
|
Гости |
Для таблицы я делал так:
QHeaderView* hv = tableWidget->horizontalGeader(); int width = hv->length(); |
|
|
flankerr |
3.4.2008, 11:45
Сообщение
#7
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
|
|
|
Litkevich Yuriy |
3.4.2008, 12:09
Сообщение
#8
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
скорее всего человек просто опечатался, и имелось в виду horizontalHeader()
|
|
|
flankerr |
7.4.2008, 17:09
Сообщение
#9
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
horizontalHeader()
есть у QTableView у QTreeWidget этого метода нет. вопрос всё ещё в силе... Казалось бы простейшая штука.. |
|
|
flankerr |
15.4.2008, 11:59
Сообщение
#10
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
Разве ни кто не узнавал ширину ?????
|
|
|
Текстовая версия | Сейчас: 4.12.2024, 3:43 |