crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> 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  


Непонял зачем кол-во колонок прибавляешь?
я делал так:
последняяколнка.ширина=(общая ширина+8)-(сумма ширин колонок без последней)
т.е. регулировал последнюю, но можно и любую другую разумеется
колонок всего было 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  


Цитата(Дмитрий @ 1.4.2008, 16:01) *
Для таблицы я делал так:
QHeaderView* hv = tableWidget->horizontalGeader();
int width = hv->length();


Это видемо в третье версии было...
В Qt 4.3 функции horizontalGeader() нет.

Сообщение отредактировал flankerr - 3.4.2008, 11:48
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
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  


Разве ни кто не узнавал ширину ?????
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 17.4.2024, 1:32