Kivy 布局之FloatLayout

2023-10-19  本文已影响0人  我的小小笔尖

布局就是定义如何排列小部件

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%高度

以上代码运行效果如下:

FloatLayout01.JPG
上一篇 下一篇

猜你喜欢

热点阅读