gpt4 book ai didi

python - kivy 语言不处理枚举?

转载 作者:行者123 更新时间:2023-12-01 02:27:22 38 4
gpt4 key购买 nike

我有一个包含常量的文件,如下所示:

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

然后我将其导入到 kv 文件中,如下所示:

#: import Ear vocelab.ark_const

最后用它来设置一个名为“ear”的 ObjectProperty:

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 试图获取 ark_consts 模块的“LEFT”属性,而不是枚举?

最佳答案

您导入的是模块,而不是类

试试这个:

#: import Ear vocelab.ark_const.Ear

其中 import 的下一个是您为导入内容指定的名称,您导入的是最后一个

关于python - kivy 语言不处理枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47247187/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com