2017-11-12 20 views
0

私はこのように、定数を持つファイルを持っている:kivy言語で列挙型が処理されませんか?

#: import Ear vocelab.ark_const 

そして最後に「耳」という名前のOBJECTPROPERTYを設定するためにそれを使用します。

from enum import Enum 
class Ear(Enum): 
    LEFT = 0 
    RIGHT = 1 

は、それから私はこのようなKVファイルでそれをインポートします。

Audiogram: 
    id: audiogram 
    ear: Ear.LEFT 

そして私は(うまくトレースバックが非常に長いです、これはそれのほんの一部である)、このエラーが出る:

kivy.lang.builder.BuilderException: Parser: File "C:\Users\Laci\Python\Projects\VoceLab\vocelab\vocelab.kv", line 224: 
... 
    222:       Audiogram: 
    223:        id: audiogram 
>> 224:        ear: Ear.LEFT 
    225:     TabbedPanelItem: 
    226:      id: tp_devices 
... 
BuilderException: Parser: File "C:\Users\Laci\Python\Projects\VoceLab\vocelab\vocelab.kv", line 224: 
... 
    222:       Audiogram: 
    223:        id: audiogram 
>> 224:        ear: Ear.LEFT 
    225:     TabbedPanelItem: 
    226:      id: tp_devices 
... 
AttributeError: 'module' object has no attribute 'LEFT' 

これはバグ、または間違っていると少なくともエラーメッセージである可能性があります。 "AttributeError: 'module'オブジェクトには 'LEFT'属性はありませんが、 'Ear'はモジュールではありません。私はこれについては分かりませんが、おそらくkivyはenumの代わりにark_constsモジュールの "LEFT"属性を取得しようとしていますか?あなたはモジュールをインポートした

答えて

1

、ないクラス

はこれを試してみてください。

#: import Ear vocelab.ark_const.Ear 

importの次の本であなたがインポート何を、インポートものに付ける名前は最後です

関連する問題