from kivy.app import App
from kivy.uix.scatterlayout import ScatterLayout
from kivy.uix.image import AsyncImage # 加载异步图片
from kivy.uix.boxlayout import BoxLayout
from kivy.graphics import Color,Rectangle
class ScatterLayoutWidget(ScatterLayout):
pass
class BoxLayoutWidget(BoxLayout):
def __init__(self,**kwargs):
super().__init__(**kwargs)
with self.canvas:
Color(1,1,1,1)
self.rect = Rectangle(pos=self.size,size = self.size) # 创建一个矩形 初使为盒子布局的大小
self.bind(pos = self.update\_rect,size=self.update\_rect) # 画布大小绑定
scatter\_layout= ScatterLayoutWidget() # 创建分散布局类
image = AsyncImage(source = 'back.jpg') # 创建异步图像
scatter\_layout.add\_widget(image) # 把图片加到分散布局里面
self.add\_widget(scatter\_layout) # 把分散布局放到盒子布局里面
def update\_rect(self,\*args):
# 矩开有位置就是盒子布局的位位置大小也是
self.rect.pos=self.pos
self.rect.size=self.size
class SAPP(App):
def build(self):
return BoxLayoutWidget()
SAPP().run()
手机扫一扫
移动阅读更方便
你可能感兴趣的文章