Enaml Looper горизонтальное расположение

По умолчанию приведенный ниже код будет размещать каждый объект GroupBox вертикально сложенным (один под другим).

enamldef Main(Window):
    attr model

    Container:
        constraints = [ hbox(items) ]

        Container: items:
            Looper:
                iterable << model.l              # model.l = some list of atom objects
                    GroupBox:
                        title << loop_item.name                
                        CheckBox:
                            checked := loop_item.active

Как я могу выложить их в петлитель так, чтобы вместо них они располагались горизонтально (слева направо)?

Я не могу найти какую-либо информацию по этому вопросу в enaml docs / API.

1 ответ

Решение

Вы можете предоставить свои собственные ограничения, которые делают то, что вы хотите, например, помощник hbox: https://github.com/nucleic/enaml/blob/master/examples/layout/basic/hbox.enaml

Или используйте один из вспомогательных подклассов контейнера, например HGroup: https://github.com/nucleic/enaml/blob/master/examples/widgets/h_group.enaml https://github.com/nucleic/enaml/blob/master/enaml/widgets/h_group.py

Примеры Enaml, вероятно, ответят на многие ваши вопросы начального уровня: https://github.com/nucleic/enaml/tree/master/examples

Другие вопросы по тегам