Changing the background color of a Button in Kivy

前端 未结 2 1849
不知归路
不知归路 2020-12-03 10:22

I\'m new to Kivy and having trouble specifying the background color of a Button. Here\'s my simple example:

# custombutton.py

from kivy.app import App
from          


        
相关标签:
2条回答
  • 2020-12-03 10:51

    Ah, this is a common confusion. The problem is that Button.background_color really works as a kind of tint, not just a block colour. Since the default background is a grey image (the one you normally see if you make an unstyled button), what you end up seeing is a red tint to that grey image - which comes out as the dark red you observe.

    You can get the behaviour you want by replacing the background image to just one that's plain white (it doesn't have to be more than a few pixels), or by otherwise playing with the background_normal and background_down properties. When your background_color tints the new pure white image, you get the pure red you're after.

    I guess this isn't so clear in the docs, I'll try to improve it.

    0 讨论(0)
  • 2020-12-03 10:58

    It's been a while since this was first posted so maybe with updates they came up with a better solution:

    Button:
        background_normal: ''
        background_color: 1, .3, .4, .85
    

    Since the Button has a default grey, adding background color will only tint the button. By setting background_normal to '' that resets the default to white. From the white canvas the background_color works as you would expect.

    Documentation

    1) https://kivy.org/docs/api-kivy.uix.button.html?highlight=button#module-kivy.uix.button

    0 讨论(0)
提交回复
热议问题