2

我很难添加从数据库中提取的值(语言)列表,并希望它可以作为 Spinner 小部件中的值列表使用。

蟒蛇部分:

 def get_langs(self):
        session = Session()
        Base.metadata.create_all(engine)
        # get active language as text label:
        result1 = session.query(Language).filter_by(active = 1).first()
        self.label_lang.text = str(result1)
        # get all other languages as list of values:
        result2 = session.query(Language).filter_by(active = 0).all()
        self.label_lang.values = str(result2)

kv模板部分:

Spinner:
    id: settings_lang
    size_hint: (None, None)
    width: 200
    height: 40
    padding_left: 20
    self: root.get_langs()

我正在从我的数据库中提取一个值列表(通过 sqlalchemy),但是 kv 模板中的“值”属性只接受 str/unicode,因此是 str(result2)。但是,我得到的不是语言列表,而是该列表中的字符列表。

[ 英语 ,

德律风]

但我想将这些视为价值观:English Deutsch

任何人都可以建议吗?谢谢

4

1 回答 1

1

您正在将结果转换为单个字符串,而不是字符串列表。

self.label_lang.values = map(str, result2)

可能是您想要的。

于 2012-11-19T08:19:31.080 回答