当前位置: 代码迷 >> 综合 >> Kivy App开发之布局 StackLayout
  详细解决方案

Kivy App开发之布局 StackLayout

热度:72   发布时间:2024-02-26 18:47:14.0

StackLayout为堆栈布局,在StackLayout布局中,只要没有超出布局的范围,可以垂直或水平地摆放子控件,子控件的大小可以不相同。通过orientation属性指定布局的方向,默认值”lr-tb"。

lr,表示从左到右,rl,表示从右往左,tb,表示自上而下,bt,表自下而上。orientation有8个有效属性:

按行,lr-tb,lr-bt,rl-tb,rl-bt

按列,tb-lr,bt-lr,tb-rl,bt-rl

示例:

.py

from kivy.app import App
from kivy.uix.stacklayout import StackLayoutclass StackLayoutWin(StackLayout):def __int__(self,**kwargs):super().__init__(**kwargs)class StackApp(App):def build(self):return StackLayoutWin()if __name__=="__main__":StackApp().run()

.kv

<StackLayoutWin>:orientation:'lr-tb'canvas:Color:rgba:[1,1,1,1]Rectangle:size:self.sizepos:self.posButton:text:'Btn1'size_hint:[.2,.1]Button: