Python-Kivy-为按钮添加颜色

时间:2014-08-31 01:45:53

标签: python user-interface kivy

我知道之前已经问过这个问题,我很抱歉,但我保证我已经阅读了所有的回复,而且我不认为它们适用于我的情况。

我基本上想要Kivy中的特定按钮有颜色但是由于某种原因它对我来说是非常困难的。

程序的其余部分只是导入模块并运行。

class buttonTest(App):
def build(self):
    b = BoxLayout(orientation='vertical')
    btn1 = Button
    btn2 = Button
    btn3 = Button
    btn4 = Button
    btn5 = Button
    b.add_widget(btn1)
    b.add_widget(btn2)
    b.add_widget(btn3)
    b.add_widget(btn4)
    b.add_widget(btn5)
    f = FloatLayout()
    s = Scatter()
    f.add_widget(s)
    return b

正如你在上面看到的那样是我想要使用的类(我想要五个单独的按钮),我究竟该如何重新添加颜色(文本和背景)?如果通过使用.kv文件来满足此请求,我将非常感激。

我一直在努力解决这个问题大约 24小时

非常感谢,迈克尔。

2 个答案:

答案 0 :(得分:0)

此代码甚至无法运行 - 您需要使用Button()来实例化按钮,而不是Button

您也可以在此时传递属性值,例如Button(text='something')。当然,您也可以稍后修改它们,例如btn1 = Button(); btn.text = 'something'

查看button documentation以获取有关不同属性及其功能的信息。我不清楚你到底在做什么。

对于kv语言部分,你这样做的问题是什么?

答案 1 :(得分:0)

btn1 = Button() #Blue Button
btn1.background_color = [0,0,1,0]
btn2 = Button() #Green Button
btn2.background_color = [0,1,0,0]
b.addWidget(btn1)
b.addWidget(btn2)  

考虑到着色按钮仅为其纹理着色。如果您需要不同的颜色+纹理,则需要将background_disabled_downbackground_disabled_normalbackground_downbackground_normal图像更改为新纹理,然后设置.background_color