1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
#------------------------------------------------------------------------------
# Copyright (c) 2013-2025, Nucleic Development Team.
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file LICENSE, distributed with this software.
#------------------------------------------------------------------------------
""" An example of how to express constraints with respect to helpers attributes
The layour in this example illustrates how to access and use the attributes of
helpers to complex layouts. All helpers expose the same attributes (left,
right, top, bottom, width, height, h_center, v_center) as any widget.
<< autodoc-me >>
"""
from enaml.layout.api import grid, hbox, spacer, align
from enaml.widgets.api import Window, Container, Label, PushButton
enamldef Main(Window):
Container:
layout_constraints => ():
g = grid((lbl_a, lbl_b, lbl_c),
(lbl_d, lbl_e, lbl_f),
(lbl_g, lbl_g, lbl_g),
(btn_1, btn_2, btn_3))
constraints = [hbox(spacer,g, spacer) ,
align('h_center', g, contents_h_center)
]
return constraints
Label: lbl_a:
text = "Label A"
Label: lbl_b:
text = "Label B"
Label: lbl_c:
text = "Label C"
Label: lbl_d:
text = "Label D"
Label: lbl_e:
text = "Label E"
Label: lbl_f:
text = "Label F"
Label: lbl_g:
text = "Label G"
PushButton: btn_1:
text = "Button 1"
PushButton: btn_2:
text = "Button 2"
PushButton: btn_3:
text = "Button 3"
|