Kivy 中的更改颜色按钮

Posted

技术标签:

【中文标题】Kivy 中的更改颜色按钮【英文标题】:Change color button in Kivy 【发布时间】:2015-08-25 16:39:58 【问题描述】:

首先,我不是一个专业的程序员,我只是一个使用代码来制作一些东西的爱好者(并非总是如此)。 我目前正在使用 Kivy 制作一个简单的应用程序,但不知道如何将按钮的颜色更改为我真正想要的颜色。我在页面上花了一些时间,查看了 *** 但仍然无法管理它...... 这是一些代码。我使用 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

【问题讨论】:

对于 rgb,只要你 adobe kuler 它是免费的 【参考方案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

【讨论】:

谢谢,但我已经阅读了这篇文章,我花了几个小时在这个文档上 :) 我不明白的是如何将 background_normal 实现为“。把它放在哪里是我的问题?:(跨度> 我可以改变颜色,但由于默认纹理是灰色的,它会使结果更暗。我的问题是如何将这个特定按钮的默认纹理设置为白色。我知道它应该通过使用 background_normal 来实现,但是这个,我没有管理...... 看看视频,这家伙正在做我认为你想做的事。 是的,我也看过视频,但同样,你不能拥有你想要的颜色,在我编写的代码中,我使用 background_color: 0.81, 0.27, 0.33, 1 但它是就像在视频上一样,它在灰色纹理上添加了这种颜色,所以你没有你想要的颜色。我想要的是能够“为这个特定的按钮”而不是其他按钮,将灰色纹理更改为白色,当您按下时将蓝色纹理更改为白色,这样我就可以放置自己的颜色。 你找到按钮的 background_normal 属性了吗

以上是关于Kivy 中的更改颜色按钮的主要内容,如果未能解决你的问题,请参考以下文章

Kivy - 按下后更改按钮的颜色?

如何在 Kivy 中动态更改标签背景颜色

更改 Kivy 小部件部分文本的颜色

在 Kivy 中更改颜色 TabbedPanelHeader

Kivy:在kv中设置禁用按钮上的文本颜色

从根类外部更改按钮颜色