在Kivy中更改颜色按钮

时间:2015-06-10 12:18:00

标签: button colors kivy

首先,我不是一个专业的程序员,我只是一个使用代码来制作一些东西(不总是)的业余爱好者。 我现在正在使用Kivy制作一个简单的应用程序,无法弄清楚如何将按钮的颜色更改为我真正想要的颜色。我在页面上花了一些时间,看了stackoverflow但仍然无法管理它... 这是一些代码。我使用background_color来改变颜色,我明白我应该使用background_normal来设置“白色”(但我不希望其余的是白色......)我不知道在哪里更改background_color ...什么时候被按下了同样的问题。

对于Label来说没问题,这有效:)

其他小问题。为了获得我的rgb,我将所有颜色除以255以获得0到1之间的值,这是正确的方法还是它们可以更精确? 谢谢!

BoxLayout:
padding: 10
spacing: 10
orientation: 'vertical'
Label:
    text: "Jouer avec les verbes \nirréguliers par :"
    color: 1,1,1,1
    canvas.before:
        Color:
            rgba: 0.99, 0.65, 0.07, 1
        Rectangle:
            pos: self.pos
            size: self.size
BoxLayout:
    orientation: 'horizontal'
    spacing: 10

    Button:
        text: "L'infinitif"
        size_hint: 1, 1
        background_color: 0.81, 0.27, 0.33, 1

    Button:
        text: "La traduction \nFrançaise"
        size_hint: 1, 1

1 个答案:

答案 0 :(得分:1)

我发现了一些可能对你有用的东西:

http://kivy.org/docs/api-kivy.uix.button.html

background_color

在1.0.8中添加 背景颜色,格式为(r,g,b,a)。

这可以作为纹理颜色的乘数。默认纹理为灰色,因此仅设置背景颜色会产生较暗的结果。要设置纯色,请将background_normal设置为''。

background_color是ListProperty,默认为[1,1,1,1]。

希望这是有用的,但下次再搜索一下;)

在SO

上找到了这个

问题在于Button.background_color确实可以作为一种色调,而不仅仅是块颜色。由于默认背景是灰色图像(如果你制作一个没有样式的按钮,你通常会看到的图像),你最终看到的是那个灰色图像的红色 - 这是你观察到的暗红色。

您可以通过将背景图像替换为纯白色(不必超过几个像素),或者通过使用background_normal和background_down属性进行替换来获得所需的行为。当你的background_color为新的纯白色图像着色时,你会得到你想要的纯红色。

如果这还不够,你可以随时观看这个视频:

https://www.youtube.com/watch?v=ahx9RWqQNgg