2

我正在尝试在 enaml 文件中使用 id,当我运行程序时

enaml-run hello_world.enaml 

我得到这个输出

File "hello_world.enaml", line 10
    id: pb1
SyntaxError: invalid syntax

输出总是在 id 上产生无效的语法错误。我如何正确识别身份?

资源:

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
4

2 回答 2

3

'id' 标签在 0.7.0 版中已弃用,并在 0.8.0 版中完全删除。声明标识符的正确方法是在元素类型之后内联,如下所示:

PushButton: pb1:
    pass

Enaml 的 repo 随版本 0.7.0 移至此处: https ://github.com/nucleic/enaml

最新版本的文档现在在这里: http: //nucleic.github.io/enaml/docs/

文档(如框架)仍在进行中。

如果您遇到更多麻烦,请随时在跟踪器上打开问题(直到我设置了正确的列表)。

来源:我是Enaml的作者

于 2013-10-19T00:48:38.090 回答
1

这是一条评论,但我将其发布为答案,因为我还没有足够的声誉来发表评论。我可以使用 enaml 0.6.8 很好地运行您的示例,所以您的 enaml 版本可能已关闭?

要检查的另一件事是您是否可以运行 enaml 文档中的示例,例如 this one,它也使用 id。

于 2013-10-16T22:03:01.397 回答