【发布时间】:2014-01-19 06:57:38
【问题描述】:
我想要一个带有黑色按钮和标签以及白色文本的应用程序,因此,我希望用空白空间分隔这些小部件。我想为了做到这一点,有必要将背景从默认颜色(黑色)转换为白色。实现这一目标的最佳方法是什么?谢谢!
【问题讨论】:
标签: kivy
我想要一个带有黑色按钮和标签以及白色文本的应用程序,因此,我希望用空白空间分隔这些小部件。我想为了做到这一点,有必要将背景从默认颜色(黑色)转换为白色。实现这一目标的最佳方法是什么?谢谢!
【问题讨论】:
标签: kivy
一种简单的方法是在根小部件后面简单地绘制一个大的白色矩形。例如,在 kivy 语言中,您可以这样做
<YourRootWidget>:
canvas.before:
Color:
rgba: 1, 1, 1, 1
Rectangle:
pos: self.pos
size: self.size
我想你也可以直接设置kivy清除窗口背景的颜色,暴露为Window.clearcolor。你会这样做
from kivy.core.window import Window
Window.clearcolor = (1, 1, 1, 1)
您可能需要将它放在应用程序中的任何其他内容之前,因为如果在创建窗口后运行它不会影响任何内容。
【讨论】:
我为此创建了一个模块。请查收:Details on Github
#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
希望对大家有帮助
【讨论】: