我很难添加从我的数据库中提取的值(语言)列表,并希望它在 Spinner 小部件中作为值列表可用。
python 部分:
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)。但是,我得到的不是语言列表,而是该列表中的字符列表。
[ 乙 n G 升 我 秒 H ,
D 电子 你 吨 秒 C H ]
但我想将这些视为值: 英语 德语
谁能给个建议? 谢谢
请您参考如下方法:
您正在将结果转换为单个字符串,而不是字符串列表。
self.label_lang.values = map(str, result2)
可能是您想要的。
