kivy: change background color to white

James_L picture James_L · Jan 1, 2014 · Viewed 47.7k times · Source

I'd like to have an app with black buttons and labels, and with white text, and thus, would like to have white space separating these widgets. I suppose that in order to do so, it would be necessary to convert the background from the default color, which is black, to white. What is the best way of accomplishing this? Thank you!

Answer

inclement picture inclement · Jan 1, 2014

A simple way is to simply draw a big white rectangle behind your root widget. For instance, in kivy language you could do

<YourRootWidget>:
    canvas.before:
        Color:
            rgba: 1, 1, 1, 1
        Rectangle:
            pos: self.pos
            size: self.size

I think you can also actually directly set the colour that kivy clears the window background with, which is exposed as Window.clearcolor. You would do this with

from kivy.core.window import Window
Window.clearcolor = (1, 1, 1, 1)

You would probably need to put this before anything else in your app, as it won't affect anything if run after the window has been created.