在kivy中的每个控件以及布局中都包含了canvas属性,通过canvas属性,可以设置控件的背景以及显示的颜色,可以通过在canvas中添加不同的Instructions指令来达到不同的页面效果。
可以将canvas理解为在坐标空间中一个无限的绘图板,通过向canvas中添加绘图指令来绘制图形。
通过add(Instruction canvas)方法将一个canvas画布添加到布局中。
from kivy.app import App
from kivy.uix.relativelayout import RelativeLayout
from kivy.graphics import Rectangle,Color
from kivy.graphics.instructions import InstructionGroup
class RelativeWin(RelativeLayout):
def __init__(self,**kwargs):
super().__init__(**kwargs)
white = InstructionGroup()
white.add(Color(1,1,1,1))
white.add(Rectangle(pos=self.pos,size=(300,300)))
self.canvas.add(white)
green = InstructionGroup()
green.add(Color(0,1,0,0.4))
green.add(Rectangle(pos=(300,300),size=(300,300)))
self.canvas.add(green)
class CanvasApp(App):
def build(self):
return RelativeWin()
if __name__=='__main__':
Canva