我是Kivy的新手,无法指定按钮的背景颜色。这是我的简单例子:
# custombutton.py
from kivy.app import App
from kivy.uix.widget import Widget
class MyWidget(Widget):
pass
class CustomButtonApp(App):
def build(self):
return MyWidget()
if __name__ == '__main__':
CustomButtonApp().run()
随附的kv文件custombutton.kv
:
#:kivy 1.7.2
<MyWidget>:
canvas:
Color:
rgb: (0.93, 0.93, 0.93)
Rectangle:
pos: self.pos
size: self.size
Button:
center: self.parent.center
font_size: 14
height: 28
background_color: (1.0, 0.0, 0.0, 1.0)
text: "I'm a Button"
我确定我错过了一些显而易见的东西,但是我现在已经乱了一个多小时而且无处可去。按钮似乎有点暗红色:
这不是在Kivy中为Button指定背景颜色的方法吗?
谢谢!
答案 0 :(得分:18)
Button.background_color
确实可以作为一种色调,而不仅仅是块颜色。由于默认背景是灰色图像(如果你制作一个没有样式的按钮,你通常会看到的图像),你最终看到的是那个灰色图像的红色 - 这是你观察到的暗红色。
您可以通过将背景图片替换为纯白色(不必超过几个像素),或者使用background_normal
和{{ 1}}属性。当你的background_color为新的纯白色图像着色时,你会得到你想要的纯红色。
我想这在文档中并不是那么清楚,我会尝试改进它。
答案 1 :(得分:8)
自从这是第一次发布以来已经有一段时间了,所以也许有更新他们想出了更好的解决方案:
Button:
background_normal: ''
background_color: 1, .3, .4, .85
由于Button具有默认灰色,因此添加背景颜色只会使按钮着色。通过将background_normal设置为'',将默认值重置为白色。从白色画布中,background_color可以像您期望的那样工作。
<强>文档强>
1)https://kivy.org/docs/api-kivy.uix.button.html?highlight=button#module-kivy.uix.button