1

id: fruit と値が「apple」、「banana」、「watermelon」のスピナーがあるとします。

次のようなコードがあります。

if(self.ids['fruit'].text=='apple'):
   a=2

今、私のアプリには言語選択オプションがあります。したがって、「スペイン語」を選択すると、Apple がスペイン語に変更され、上記のコードは失敗します (ID は変更しないため、英語のままになります)。ただし、選択した値のインデックスは同じままです。

それで、kivyスピナーのインデックスサポートはありますか、つまり次のようなものです:

if(self.ids['fruit'].id==1):
   a=2
4

2 に答える 2

0

スピナーの値は にあるListPropertyため、次のように列挙を使用できます。

for index, text in enumerate(self.ids.fruit.values):
    if index == 1:
        a=2

ListProperty で enumerate を使用できなかった場合でもvalues、関数の先頭から独自のリストを作成できます。もちろん、enumerate はゼロから始まるため、コードでindex + 1使用する場合は必要になり1ます。

于 2016-03-28T14:34:16.153 に答える