盒子布局,BoxLayout,可以将子控件水平或垂直排列,类似于Android中的线性布局,默认以10像素的间距平分父窗口,也可以自定义设置间距,改变布局方式等。
Python代码实现方式,在main.py中导入app类及相关的kivy包,BoxLayout,Button等,编写类继承App类,并实现build()方法;然后编写布局类,继承BoxLayout类,在build()中返回布局类。
实现代码如下,main.py
from kivy.app import App from kivy.uix.button import Button 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) # add button self.add_widget(Button(text='Test')) self.add_widget(Button(text='BoxLayout')) def update_