widget控件创建后,kivy会自动为其生成一个canvas画布,用来绘制对象,通过画布可以设置显示的颜色,尺寸等,或设置背景图片。这里的画布与html5里的是不相同的,是一组在坐标空间的指令容器。
设置背景色为白色,代码如下
from kivy.app import App from kivy.uix.boxlayout import BoxLayout from kivy.graphics import Rectangle,Color class BoxLayoutWin(BoxLayout): def __init__(self,**kwargs): super().__init__(**kwargs) #设置背景 with self.canvas: Color(1,1,1,1) self.rect = Rectangle(pos=self.pos,size=self.size) self.bind(pos=self.update_rect,size=self.update_rect) def update_rect(self,*args): self.rect.pos = self.pos self.rect.size = self.size class BoApp(App): def build(self): return BoxLayoutWin() if __name__=='__main__': BoApp().run()
update_rect 设置canvas大小与窗口一致。
另外kivy提供了更简单的设置方法,直接设置窗口的颜色
from kivy.core.window import Window from kivy.utils import