如何使用Kivy创建多个按钮?

时间:2016-04-14 10:35:18

标签: python kivy

我正在寻找一种在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,但尚未完成。

我几乎可以肯定有一种更好,更简单的做法,但我不知道它是什么。

1 个答案:

答案 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]