2013-10-16 20 views
2

我想使用的ID在enaml文件,當我與Python的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 
+0

歡迎來到Stack Overflow!與其他在線論壇不同,您可能使用過,Stack Overflow是**問題**和 - **答案**網站。這不是一個討論論壇或編碼服務。用戶(如您自己)提問*,其他用戶提供答案。你有具體的問題嗎? –

+0

是的,我試圖找出我做錯了什麼,以及如何正確使用ID在enaml。 – user2887117

回答

1

這是一個評論,但我張貼它作爲一個答案,因爲我沒有足夠的聲譽還沒有發表評論。我可以用enaml 0.6.8來運行你的例子,所以你的enaml版本可能關閉了嗎?

要檢查的另一件事是您是否可以在enaml文檔中運行示例,例如, this one,它也使用ID。

+0

啊,你知道這可能是什麼,我使用的是0.8.x版本。謝謝 – user2887117

+0

是的,事情發生了很大的變化,從0.6到0.7變成了0.8 ... – jvkersch

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