我是基维的新手,在指定按钮的背景色时遇到问题。我举个简单的例子:
# 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中的按钮指定背景色的方法吗?
谢谢!
这是一段时间以来,因为这是第一次张贴,所以也许随着更新,他们想出了一个更好的解决方案:
因为按钮有默认的灰色,所以添加背景色只会使按钮着色。通过将background_normal设置为“”将默认设置重置为白色。在白色的画布上,背景色的效果和你想象的一样。
文档
1)https://kivy.org/docs/api-kivy.uix.button.html?highlight=button#module-kivy.uix.button
啊,这是常见的困惑。问题是
Button.background_color
实际上是作为一种色调工作的,而不仅仅是块颜色。因为默认的背景是一个灰色的图像(如果你做了一个没有样式的按钮,你通常会看到这个图像),你最终看到的是一个灰色图像的红色色调-这是你观察到的暗红色。您可以通过将背景图像替换为纯白色(不必超过几个像素)或使用
background_normal
和background_down
属性来获得所需的行为。当你的背景色染上新的纯白色图像时,你得到了你想要的纯红色。我想这在文档中不是很清楚,我会努力改进的。
相关问题 更多 >
编程相关推荐