Ich suche nach einer Möglichkeit, eine Reihe von Schaltflächen in Kivy zu erstellen. Ich bin ziemlich neu bei Kivy, also ist das, was mir eingefallen ist.Wie kann ich mehrere Tasten mit Kivy erstellen?
Mein aktueller Code ist:
class StackGameApp(App):
def build(self):
layout = FloatLayout()
b0 = Button(pos_hint={'x': 0, 'center_y': .1}, size_hint=(.1, .1),text= '0')
b1 = Button(pos_hint={'x': .1, 'center_y': .1}, size_hint=(.1, .1),text= '1')
b2 = Button(pos_hint={'x': .2, 'center_y': .1}, size_hint=(.1, .1),text= '2')
b3 = Button(pos_hint={'x': .3, 'center_y': .1}, size_hint=(.1, .1),text= '3')
b4 = Button(pos_hint={'x': .4, 'center_y': .1}, size_hint=(.1, .1),text= '4')
b5 = Button(pos_hint={'x': .5, 'center_y': .1}, size_hint=(.1, .1),text= '5')
b6 = Button(pos_hint={'x': .6, 'center_y': .1}, size_hint=(.1, .1),text= '6')
b7 = Button(pos_hint={'x': .7, 'center_y': .1}, size_hint=(.1, .1),text= '7')
b8 = Button(pos_hint={'x': .8, 'center_y': .1}, size_hint=(.1, .1),text= '8')
b9 = Button(pos_hint={'x': .9, 'center_y': .1}, size_hint=(.1, .1),text= '9')
layout.add_widget(b0)
layout.add_widget(b1)
layout.add_widget(b2)
layout.add_widget(b3)
layout.add_widget(b4)
layout.add_widget(b5)
layout.add_widget(b6)
layout.add_widget(b7)
layout.add_widget(b8)
layout.add_widget(b9)
return layout
, die eine Reihe von Schaltflächen am unteren Rand des Bildschirms 0-9 beschriftet zurückgibt. Ich werde die Knöpfe kodieren, um die Zahlen 0-9 zurückzugeben, aber das ist noch nicht getan worden.
Ich bin mir fast sicher, dass es einen besseren, einfacheren Weg gibt, dies zu tun, aber ich weiß einfach nicht, was es ist.
Wissen Sie, was 'for' loop ist? – jligeza
für x in 10: i = Schaltfläche (pos_hint = {'x': 0, 'center_y': .1}, size_hint = (. 1, .1), text = '0',) i. bind (on_press = USER_INPUT) layout.add_widget (i) i + = 1 int Fehler ist nicht iterable – Ecocrexis
ich Ihnen dringend empfehlen, bevor Sie Kivy einige grundlegende python natürlich tun. Erfahren Sie, wie Sie Listen, Dicts, Loops, Funktionen, Klassen usw. verwenden. – jligeza