0
複数のラベルのテキストを大文字に変更するプログラムを作成しています。しかし、私のプログラムは、最後のテキストだけを大文字に変更するようです。これが私のプログラムです。ここでは、cのみが大文字に変換されています。 aとbは小文字のままです。どこが間違っていますか?Kivyのテキストの変更例
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.togglebutton import ToggleButton
from kivy.lang import Builder
Builder.load_string('''
<box>:
ToggleButton:
text: 'Caps Lock'
on_state:
if self.state == 'down': lol.text = lol.text.upper()
elif self.state == 'normal': lol.text = lol.text.lower()
Label:
id: lol
text: 'a'
Label:
id: lol
text: 'b'
Label:
id: lol
text: 'c'
''')
class box(BoxLayout):
pass
class main(App):
def build(self):
return box()
if __name__ == "__main__":
main().run()
私はそれを行うための一つの方法です知っているが、このためのショートカットはありますか?それはコピーペーストの仕事がたくさんあると思いませんか? –
@ParthibBiswasループを使用してコードサンプルを使用して回答を編集しました。マジックナンバー「3」の使用を避ける他の方法もありますが、これは最短です。 – jligeza
そのより明確な今! –