当前位置: 代码迷 >> 综合 >> kivy代码一
  详细解决方案

kivy代码一

热度:93   发布时间:2024-02-06 04:25:47.0
import os
import sys
import json
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.floatlayout import FloatLayout
from kivy.graphics import Rectangle, Colorclass FloatLayoutWidget(FloatLayout):"""浮动布局相当于前端的浮动元素,可以不受位置限制,可以完全按前端的float: left理解"""def __init__(self, **kwargs):super().__init__(**kwargs)with self.canvas:  # 为浮动部件创建画布,也就是一个布局了,这个画布可动态修改self.color = Color(120, 30, 120, 200)  # 画布背景颜色图self.rect = Rectangle(pos=self.pos, size=self.size)  # 创建画布矩形框,默认大小为布局空间大小# pos=(300,200):相对父元素绝对位置# size=(50,50):相对父元素绝对大小# pos_hint={"x":0.6,"y":0.6}:相对父元素位置(比例)# pos_hint有很多表达方式: x, center_x, right, y, center_y, top# size_hint=(0.2,0.2):相对父元素大小(比例)self.bind(pos=self.update_rect, size=self.update_rect)  # 为画布绑定事件,监测到变化,做出相应的改变self.add_widget(Button(text="btn1", font_size=30))  # 在浮动部件种加入按钮控件# self.add_widget(Button(text="btn2", font_size=10))def update_rect(self, *args):# 更新矩形框大小self.rect.pos = self.posself.rect.size = self.sizeclass TestApp(App):def build(self):# 返回根空间return FloatLayoutWidget()if __name__ == '__main__':TestApp().run()