logo
Литература_1 / photon_old

Абсолютное позиционирование

Самой основной формой компоновки, которую может обеспечить контейнер, является позиционирование своих потомков без наложения каких-либо ограничений на их размеры или позиционирование. В такой ситуации порождённый виджет закрепляется в своём собственном положении внутри контейнера, и контейнер не изменяет его размеров.

Виджет, использующий эту политику компоновки, является чем-то аналогичным доске объявлений. Вы можете прикнопить сообщение на доске объявлений и они остаются там, куда их прикнопили. Все контейнерные виджеты могут выполнять абсолютное позиционирование.

Простейшим путём позиционирования и установления размеров каждого потомка является использование мыши в PhAB.

Чтобы задать позицию каждого из потомков из программного кода Вашего приложения, Вы должны установить для каждого потомка ресурс Pt_ARG_POS. Если виджеты должны быть согласованы или быть предопределённых размеров, Вы также должны установить для каждого потомка ресурс Pt_ARG_DIM. Задаваемая Вами позиция является относительной верхнего левого угла холста родителя, так что при позиционировании потомков Вы можете не принимать во внимание границы родителя. По умолчанию все виджеты, позиционируемые абсолютно, используют политику изменения размеров Pt_AS_REQUIRED и Pt_INITIAL. Другими словами, начальные размеры контейнера выбираются при его реализации. Контейнер делается достаточно большим, чтобы разместить всех потомков в заданном местоположении и давая им возможность после реализации принять свои размеры.

Простейшим путём выполнения абсолютного позиционирования является размещение и позиционирование виджетов внутри главного виджета PtWindow приложения. Если Вам необходимо создать контейнерный виджет, выполняющий абсолютное позиционирование, как часть другого контейнера, Вы можете использовать виджет PtContainer.

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4