Change button or label text color in kivy

Mittenchops picture Mittenchops · Dec 7, 2013 · Viewed 33.8k times · Source

I'm following this kivy book, and while I can understand how to change the background color of buttons, I haven't found the keyword to change the text color.

I saw this and other questions. Here's my code:

#!/usr/bin/kivy
import kivy
kivy.require('1.7.2')

from random import random
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.gridlayout import GridLayout
from kivy.graphics import Color, Ellipse, Rectangle

class MinimalApp(App):
    title = 'My App'
    def build(self):
        root = RootLayout()
        return(root)

class RootLayout(GridLayout):
    pass

if __name__ == '__main__':
    MinimalApp().run()

and in the .kv file:

#:kivy 1.7.2
#:import kivy kivy

<RootLayout>:
    rows: 1
    Label:
        text: "Why does this not work?"
#        rgba: 1,0,1,1                  # doesn't work
#        Color:                         # doesn't work
#                rgba: 1,0,1,1          # doesn't work
#       font_color: rgba: 1,0,1,1
        canvas.before:
            Color:
                rgba: 0, 0, 0, 1
            Rectangle:
                pos: self.pos
                size: self.size

Answer

falsetru picture falsetru · Dec 7, 2013

Use color (all lowercase):

<RootLayout>:
    rows: 1
    Label:
        text: "Why does this not work?"
        color: 1,0,1,1 # <-----------
        canvas.before:
            Color:
                rgba: 0, 0, 0, 1
            Rectangle:
                pos: self.pos
                size: self.size