我希望有一个黑色按钮和标签的应用,文本为白色,并且希望在这些小部件之间有白色空间。我认为,为了实现这一点,需要将默认背景颜色从黑色更改为白色。最佳方法是什么?谢谢!
我希望有一个黑色按钮和标签的应用,文本为白色,并且希望在这些小部件之间有白色空间。我认为,为了实现这一点,需要将默认背景颜色从黑色更改为白色。最佳方法是什么?谢谢!
一种简单的方法是在您的根部小部件后面简单地绘制一个大白色矩形。例如,在kivy语言中,您可以这样做:
一种简单的方法是在您的根部小部件后面简单地绘制一个大白色矩形。例如,在kivy语言中,您可以这样做:
<MyRootWidget>
canvas.before:
Color:
rgba: 1, 1, 1, 1
Rectangle:
pos: self.pos
size: self.size
...
</MyRootWidget>
<YourRootWidget>:
canvas.before:
Color:
rgba: 1, 1, 1, 1
Rectangle:
pos: self.pos
size: self.size
我认为您实际上可以直接设置Kivy清除窗口背景的颜色,这是公开的Window.clearcolor
。您可以使用以下命令:
Window.clearcolor = (R, G, B, A)
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
我希望这对一些人有所帮助
<MainUI>:
BoxLayout:
orientation:"vertical"
padding:10
spacing:10
canvas.before:
Color:
rgba:1,1,1,0.4
Rectangle:
pos:self.pos
size:self.size
source:"images/bg1.png"
这适用于任何东西,并且看起来像这样。
现在,如果你只是将透明度设置为100%或1,在颜色 > rgba 指令中,并且简单地移除图像指令。<MainUI>:
BoxLayout:
orientation:"vertical"
padding:10
spacing:10
canvas.before:
Color:
rgba:1,1,1,1
Rectangle:
pos:self.pos
size:self.size