我正在寻找一种在kivy中创建一排按钮的方法。我对kivy很新,所以这就是我想出来的。
我目前的代码是:
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
返回标有0-9的屏幕底部的一行按钮。我将编码按钮以返回数字0-9,但尚未完成。
我几乎可以肯定有一种更好,更简单的做法,但我不知道它是什么。
答案 0 :(得分:1)
你应该首先学习循环的基础知识,就像jligeza所提到的那样,但基本上,你需要按照以下几点做一些事情:
for i in range(0,10):
layout.add_widget(Button(text=str(i))
请注意,您收到for x in 10
评论错误的原因是因为错误表示整数不可迭代。相反,如果您使用范围(0,10),那么它正在迭代以下列表:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]