Kivy App開發之布局 BoxLayout

2021-10-09 22:02:51 字數 701 閱讀 2939

盒子布局,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...