Python Kivy - 更改标签颜色

时间:2016-11-14 15:30:48

标签: python python-2.7 kivy

有没有办法在不使用画布的情况下更改background_color的{​​{1}}?

当我运行代码时,背景颜色自动变黑......

这是我的简单代码:

Label

谢谢

1 个答案:

答案 0 :(得分:0)

背景颜色本身,没有。您仍然需要在另一个小部件或类似内容中更改它。但如果你使用一种颜色的图片,那就是!

Label本身没有背景,这就是为什么你可以使用canvas将其放在那里,否则它是透明的。如果它是透明的,则意味着它可以显示另一个小部件的内容,例如在它下面的那个。

所以把它放在Image之下,你基本上整个canvas + Rectanglesource的东西,但分成两个小部件。如果您只想更改背景颜色,请打开例如mspaint,用单一颜色填充并加载Python。

它可能无法正常使用BoxLayout,因为它会自动处理其子项的位置,但FloatLayout不再是问题:

from kivy.app import App    
from kivy.uix.label import Label
from kivy.uix.image import Image
from kivy.uix.floatlayout import FloatLayout

class MyApp(App):

    def build(self):
        flt = FloatLayout()
        image = Image(size_hint=(None, None), size=(300, 300),
                      source=<path to image>)
        label = Label(size_hint=(None, None), size=(300, 300),
                      text='Hello World')
        flt.add_widget(image)
        flt.add_widget(label)
        return flt

MyApp().run()