Python Enaml "id: неверный синтаксис"
Я пытаюсь использовать идентификаторы в файле enaml и когда я запускаю программу с
enaml-run hello_world.enaml
Я получаю этот вывод
File "hello_world.enaml", line 10
id: pb1
SyntaxError: invalid syntax
Вывод всегда выдает неверную синтаксическую ошибку для идентификатора. Как правильно идентифицировать идентификаторы?
Источник:
from enaml.layout.api import vbox, hbox, spacer, align
from enaml.widgets.api import (Window, Container, GroupBox, Form, PushButton,
CheckBox, RadioButton, Label, ScrollArea, ToolBar, Action, ActionGroup,
Splitter, Field)
enamldef Left(Container):
GroupBox:
title="Consoles"
PushButton:
id: pb1
text="hello"
enamldef Right(Container):
Label:
text="Yo"
enamldef Bottom(ToolBar):
PushButton:
Field:
text="Search..."
enamldef Main(Window):
title="RetroArch"
initial_size = (800,600)
Container:
Splitter:
Left:lt:
pass
Right:rt:
pass
Bottom:
pass
2 ответа
Тег 'id' устарел в версии 0.7.0 и полностью удален в версии 0.8.0. Правильный способ объявления идентификаторов - встроенный после типа элемента, например:
PushButton: pb1:
pass
Репозиторий для Enaml перенесен с версией 0.7.0 сюда: https://github.com/nucleic/enaml
и самая последняя версия документации теперь здесь: http://nucleic.github.io/enaml/docs/
Документы (например, структура) все еще находятся в стадии разработки.
Если у вас возникнут какие-либо проблемы, не стесняйтесь открывать проблему на трекере (пока я не настрою правильный список).
Источник: я автор Enaml
Это комментарий, но я публикую его как ответ, так как у меня пока недостаточно репутации, чтобы оставлять комментарии. Я могу нормально запустить ваш пример с enaml 0.6.8, так что, возможно, ваша версия enaml отключена?
Еще одна вещь, которую нужно проверить, - можете ли вы запускать примеры в документах enaml, например, этот, который также использует идентификаторы.