Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: trot от Ноябрь 06, 2011, 14:00



Название: Как определить размер виджета
Отправлено: trot от Ноябрь 06, 2011, 14:00
Создаю диалог, размер которого определяется размером элементов, которые в свою очередь распахиваются в соответствии со своим содержимым. Все элементы размещены в layout-ах. Каким образом можно определить геометрию (ширину и высоту) диалога, до момента его отрисовки. Это нужно для того, чтобы в зависимости от размера диалога определить (задать) его положение на экране.
Спасибо.


Название: Re: Как определить размер виджета
Отправлено: andrew.k от Ноябрь 06, 2011, 14:58
Уже в конструкторе геометрая окна должна быть определена.


Название: Re: Как определить размер виджета
Отправлено: Авварон от Ноябрь 06, 2011, 15:00
trot
никаким, тк любой виджет может быть показан в 3 состояниях - normal, maximized, fullscreen


Название: Re: Как определить размер виджета
Отправлено: andrew.k от Ноябрь 06, 2011, 15:03
создается то он все равно в одном из состояний. поэтому в конструкторе любого виджета его размеры уже определены.
а вызывыя showMaximized изменяются его размеры и это тоже легко отловить.
И это все до момента отрисовки, что и требуется ТС.


Название: Re: Как определить размер виджета
Отправлено: BRE от Ноябрь 06, 2011, 15:30
поэтому в конструкторе любого виджета его размеры уже определены.
Нет.

2trot. Перед визуализацией виджета будет послано событие resizeEvent, вот там уже будет точный размер.