布局就是定义如何排列小部件
FloatLayout:浮动布局
https://kivy.org/doc/stable/api-kivy.uix.floatlayout.html
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.floatlayout import FloatLayout
class ExampleFloadLayout(FloatLayout):
def __init__(self, **kwargs):
super(ExampleFloadLayout, self).__init__(**kwargs)
# 创建部件
btn1 = Button(text='Hello World', size_hint=(.5, .25), pos=(10, 50))
btn2 = Button(text='你好 中国', size_hint_x=None, width=200, size_hint_y=None, height=200, pos_hint={'x':.5, 'y':.5})
# 添加部件
self.add_widget(btn1)
self.add_widget(btn2)
class MyApp(App):
def build(self):
return ExampleFloadLayout()
def on_stop(self):
print('应用程序已关闭')
if __name__ == '__main__':
MyApp().run()
代码解释
该布局方式应用比较简单,就是设定部件大小,设定部件摆放位置
设定部件大小有两种方式
方式一:相对大小 size_hint=(.5, .25) 控件宽度是x轴的50%,控件高度是y轴的25%
方式二:绝对大小 size_hint_x=None, width=200, size_hint_y=None, height=200,宽高都设定为200像素
设定部件摆放位置也有两种方式
方式一:绝对位置 pos=(10, 50),距离x轴10像素,距离y轴50像素
方式二:相对位置 pos_hint={'x':.5, 'y':.5},距离x轴50%宽度,距离y轴50%高度
以上代码运行效果如下:
网友评论