Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: sq_vasya от Октябрь 08, 2010, 19:26



Название: Как узнать полный размер QLabel?
Отправлено: sq_vasya от Октябрь 08, 2010, 19:26
Всем привет!
Есть объект QLabel, корорый содержит в себе много букав и не вмещается в родительский виджет. Соответственно, лейбл обрезается до размеров родительского виджета. Существует ли простой способ узнать максимальный размер лейбла (интересует максимальная высота)?
Единственное, что приходит в голову (и это работает) вычислять размеры текста и шрифта ручками (fontMetrics, length и прочее). Но это несколько геморно. Есть ли способ попроще и породнее?


Название: Re: Как узнать полный размер QLabel?
Отправлено: KADABRA от Октябрь 08, 2010, 20:13
http://doc.qt.nokia.com/4.7/qwidget.html#sizeHint-prop


Название: Re: Как узнать полный размер QLabel?
Отправлено: sq_vasya от Октябрь 08, 2010, 23:21
Ок, спасибо. Попробовал, да что-то похожее на рекомендованный размер оно возращает. Но есть одно маленькое НО. Метод возвращает ширину и высоту виджета. Мне нужно знать высоту. Но! Текущая ширина виджета отличается от рекомендованной. Следовательно, высота тоже будет другой. Да... Видимо придётся таки ручками считать. Или у кого-то есть другие варианты?


Название: Re: Как узнать полный размер QLabel?
Отправлено: Авварон от Октябрь 08, 2010, 23:33
Странная локга, высота и ширина друг с другом не связаны. Боолее того, они зависят от политик и у лейбла по дефолту высота фиксирована.


Название: Re: Как узнать полный размер QLabel?
Отправлено: sq_vasya от Октябрь 11, 2010, 10:37
Странная локга, высота и ширина друг с другом не связаны. Боолее того, они зависят от политик и у лейбла по дефолту высота фиксирована.

Ну, как сказать, не связаны... Есть содержимое лейбла, которое занимает определённую площадь. С изменением ширины, изменяется высота, дабы сохранить занчение площади.