Kivy App開發之頁面背景設定

2021-10-24 14:11:30 字數 852 閱讀 1836

widget控制項建立後,kivy會自動為其生成乙個canvas畫布,用來繪製物件,通過畫布可以設定顯示的顏色,尺寸等,或設定背景。這裡的畫布與html5裡的是不相同的,是一組在座標空間的指令容器。

設定背景色為白色,**如下

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)

def update_rect(self,*args):

self.rect.pos = self.pos

self.rect.size = self.size

def build(self):

return boxlayoutwin()

if __name__=='__main__':

update_rect 設定canvas大小與視窗一致。

另外kivy提供了更簡單的設定方法,直接設定視窗的顏色

from kivy.core.window import window

from kivy.utils import

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開發之布局 StackLayout

stacklayout為堆疊布局,在stacklayout布局中,只要沒有超出布局的範圍,可以垂直或水平地擺放子控制項,子控制項的大小可以不相同。通過orientation屬性指定布局的方向,預設值 lr tb lr,表示從左到右,rl,表示從右往左,tb,表示自上而下,bt,表自下而上。orien...