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.uix.stacklayout import stacklayout
class stacklayoutwin(stacklayout):
def __int__(self,**kwargs):
super().__init__(**kwargs)
def build(self):
return stacklayoutwin()
if __name__=="__main__":
.kv
:orientation:'lr-tb'
canvas:
color:
rgba:[1,1,1,1]
rectangle:
size:self.size
pos:self.pos
button:
text:'btn1'
size_hint:[.2,.1]
button:
Kivy App開發之布局 FloatLayout
floatlayout時浮動布局,子控制項通過位置和尺寸控制,放在視窗的任意位置,當視窗尺寸變化時,內部的子控制項也會相應地調整大小和位置。示例 main.py 如下 from kivy.uix.floatlayout import floatlayout class floatlayoutwin ...
Kivy App開發之布局 BoxLayout
盒子布局,boxlayout,可以將子控制項水平或垂直排列,類似於android中的線性布局,預設以10畫素的間距平分父視窗,也可以自定義設定間距,改變布局方式等。實現 如下,main.py from kivy.uix.button import button from kivy.uix.boxla...
Kivy App開發之頁面背景設定
widget控制項建立後,kivy會自動為其生成乙個canvas畫布,用來繪製物件,通過畫布可以設定顯示的顏色,尺寸等,或設定背景。這裡的畫布與html5裡的是不相同的,是一組在座標空間的指令容器。設定背景色為白色,如下 from kivy.uix.boxlayout import boxlayou...