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 テンプレートの「values」属性は str/unicode のみを受け入れているため、str(result2) です。ただし、言語のリストの代わりに、そのリスト内の文字のリストを取得します。

[ 英語 、

ドイツ語 ]

しかし、私はこれらを値として見たいです: English Deutsch

誰でもアドバイスできますか?ありがとう

4

1 に答える 1

1

結果を文字列のリストではなく、単一の文字列に変換しています。

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

おそらくあなたが代わりに欲しいものです。

于 2012-11-19T08:19:31.080 に答える