Python Enaml“id:invalid syntax”

时间:2013-10-16 16:00:43

标签: python enaml

我正在尝试在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

2 个答案:

答案 0 :(得分:3)

'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的作者

答案 1 :(得分:1)

这是一条评论,但我将其作为答案发布,因为我还没有足够的声誉发表评论。我可以用enaml 0.6.8运行你的例子,所以也许你的enaml版本已关闭了吗?

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