我知道之前已经问过这个问题,我很抱歉,但我保证我已经阅读了所有的回复,而且我不认为它们适用于我的情况。
我基本上想要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小时。
非常感谢,迈克尔。
答案 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_down
,background_disabled_normal
,background_down
和background_normal
图像更改为新纹理,然后设置.background_color