Kivy 佈局



Kivy 應用程式視窗一次只能容納一個小部件。因此,如果您嘗試新增兩個按鈕,則只會顯示第二個按鈕。另一方面,良好的圖形使用者介面需要不同的部件,例如標籤、文字輸入框、按鈕等,以符合人體工程學地放置。為此,Kivy 框架提供了佈局。佈局本身是一個能夠容納其他小部件的小部件。因此,佈局被稱為容器小部件。

在 Kivy 中,提供了不同型別的佈局容器。它們都實現了在“kivy.uix.layout”模組中定義的 Layout 介面。Layout 介面本身繼承了 Widget 類。

此介面的兩個最重要的方法是:

  • add_widget()

  • remove_widget()

add_widget()

此方法用於將新的小部件新增為此佈局的子項。其語法如下:

add_widget(self, widget, *args, **kwargs)

引數

  • widget - 要新增到我們的子項列表中的小部件。

  • index - 在列表中插入小部件的索引。請注意,預設值為 0 表示小部件插入到列表的開頭,因此將繪製在其他同級小部件的頂部。

  • canvas - 要將小部件的畫布新增到其中的畫布。可以是 'before'、'after' 或 None(使用預設畫布)。

remove_widget

此方法用於從此小部件的子項中刪除一個小部件。以下是其語法:

remove_widget(self, widget, *args, **kwargs)

其中,引數“widget”代表要從子項列表中刪除的小部件。

請注意,Layout 是一個介面,因此不能直接使用。實現這些方法的 Layout 類是具體的類,如下列列表所示:

序號 方法和描述
1

AnchorLayout

小部件可以錨定到 'top'、'bottom'、'left'、'right' 或 'center'。

2

BoxLayout

小部件按順序排列,方向為 'vertical' 或 'horizontal'。

3

FloatLayout

小部件基本上不受限制。

4

RelativeLayout

子小部件相對於佈局定位。

5

GridLayout

小部件排列在由 rows 和 cols 屬性定義的網格中。

6

PageLayout

用於建立簡單的多頁佈局,允許使用邊框輕鬆從一頁翻到另一頁。

7

ScatterLayout

小部件的定位類似於 RelativeLayout,但可以平移、旋轉和縮放。

8

StackLayout

小部件按 lr-tb(從左到右,然後從上到下)或 tb-lr 順序堆疊。

在接下來的章節中,我們將詳細討論這些佈局,並提供相關的示例。

廣告
© . All rights reserved.