盒子布局,boxlayout,可以將子控制項水平或垂直排列,類似於android中的線性布局,預設以10畫素的間距平分父視窗,也可以自定義設定間距,改變布局方式等。
實現**如下,main.py
from kivy.uix.button import button
from kivy.uix.boxlayout import boxlayout
from kivy.graphics import rectangle,color
class boxlayoutwin(boxlayout):
def __init__(self,**kwargs):
super().__init__(**kwargs)
with self.canvas:
color(1,1,1,1)
self.rect = rectangle(pos=self.pos,size=self.size)
self.bind(pos=self.update_rect,size=self.update_rect)
# add button
self.add_widget(button(text='test'))
self.add_widget(button(text='boxlayout'))
def update_rect(self,*args):
self.rect.pos = self
Kivy App開發之布局 FloatLayout
floatlayout時浮動布局,子控制項通過位置和尺寸控制,放在視窗的任意位置,當視窗尺寸變化時,內部的子控制項也會相應地調整大小和位置。示例 main.py 如下 from kivy.uix.floatlayout import floatlayout class floatlayoutwin ...
Kivy App開發之布局 StackLayout
stacklayout為堆疊布局,在stacklayout布局中,只要沒有超出布局的範圍,可以垂直或水平地擺放子控制項,子控制項的大小可以不相同。通過orientation屬性指定布局的方向,預設值 lr tb lr,表示從左到右,rl,表示從右往左,tb,表示自上而下,bt,表自下而上。orien...
Kivy App開發之頁面背景設定
widget控制項建立後,kivy會自動為其生成乙個canvas畫布,用來繪製物件,通過畫布可以設定顯示的顏色,尺寸等,或設定背景。這裡的畫布與html5裡的是不相同的,是一組在座標空間的指令容器。設定背景色為白色,如下 from kivy.uix.boxlayout import boxlayou...