Kivy-在for循环中更改按钮属性

时间:2020-06-24 21:01:20

标签: python for-loop kivy

我正在开发一个小计算器应用程序,只是为了好玩,我正在尝试学习Kivy。这是其中一些按钮的屏幕截图。

Buttons added with default color.

我使用了for循环将按钮添加到网格布局。这是代码:

    #add number buttons
    nums = [7,8,9,4,5,6,1,2,3,'.',0,'%']
    for num in nums:
        btn = Button(text=str(num))
        self.numbers.add_widget(btn)

我要删除默认颜色,然后将其更改为我自己的颜色选择。我将上面的代码更改为此:

    #add number buttons
    for num in nums:
        btn = Button(text=str(num))
        # Only colors one of the nine buttons - not sure why!
        #Remove the default color
        btn.background_disabled_normal = ''
        #Add the color I want
        btn.background_color = (0,1,(13/255))
        self.numbers.add_widget(btn)

以下是结果的屏幕截图:

Buttons after trying to change the color.

我想我认为它会在每次循环时执行两行新代码,但不会。我在这里想念什么?

预先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我认为您需要更改:

btn.background_normal = ''

收件人:

btn.background_color = (0,1,(13/255))

并更改:

btn.background_color = (0,1,(13/255),1)

收件人:

{{1}}