Kivy 基维:将背景颜色更改为白色

Kivy 基维:将背景颜色更改为白色,kivy,Kivy,我希望有一个带有黑色按钮和标签的应用程序,并且有白色文本,因此,希望有一个空格来分隔这些小部件。我想,为了做到这一点,有必要将背景从默认颜色(黑色)转换为白色。实现这一目标的最佳方式是什么?谢谢大家! 一种简单的方法是在根小部件后面画一个大的白色矩形。例如,在kivy语言中,您可以 <YourRootWidget>: canvas.before: Color: rgba: 1, 1, 1, 1 Rectangle:

我希望有一个带有黑色按钮和标签的应用程序,并且有白色文本,因此,希望有一个空格来分隔这些小部件。我想,为了做到这一点,有必要将背景从默认颜色(黑色)转换为白色。实现这一目标的最佳方式是什么?谢谢大家!

一种简单的方法是在根小部件后面画一个大的白色矩形。例如,在kivy语言中,您可以

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

您可能需要将此设置放在应用程序的其他设置之前,因为如果在创建窗口后运行,则不会影响任何设置。

我为此创建了一个模块。请检查:


我希望它对一些人有帮助

谢谢!有趣的是,“Window.clearcolor”解决方案似乎可以在任何时候使用,而不仅仅是在创建窗口之前。好的,我猜clearcolor指令位于图形树的顶部。只要它有效!我喜欢这个!我花了好长时间才更改Pong背景色:我如何在标签小部件后面绘制它?此代码应该在标签画布上的其他内容之前添加矩形。您应该直接在此处发布函数的代码。此外,CustomGraphics不需要从应用程序继承
from kivy.core.window import Window
Window.clearcolor = (1, 1, 1, 1)
#Change background color of a kivy layout
#Place the CustomGraphics.py file to a folder
#code starts here

import sys
sys.path.append([path to CustomGraphics.py])
from CustomModules import CustomGraphics
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label

class TestApp(App):
    def build(self):
        layout = BoxLayout(orientation='vertical', size=(Window.width, Window.height))
        label = Label(text="Remember my name: It's Smruti Ranjan Gochhayat")
        layout.add_widget(label)
        CustomGraphics.SetBG(layout, bg_color=[1,0,0,1])
        return layout
if __name__ == '__main__':
    TestApp().run()
    
#code ends here