Kivy 5種經常使用圖形界面佈局初探

對於任何圖形界面的框架而言,佈局都是很是重要的一個組成部分。前端

它就像人體的骨骼、房屋的鋼筋混凝土樑架,支撐起整個圖形界面、條理好各個小部件的位置。git

在 Web 開發的前端 CSS 中,最多見的有柵格佈局、絕對佈局和相對佈局。github

在 Python 的 PyQt5 中,州的先生比較常使用的時網格佈局、垂直佈局和水平佈局。web

而 Kivy 也提供了很多的佈局方式,供咱們在使用 Kivy 開發跨平臺的圖形界面程序時使用。微信

Kivy 提供的佈局方式

Kivy 中全部的佈局模塊都位於kivy.uix中,好比:app

浮動佈局:框架

from kivy.uix.floatlayout import FloatLayout

相對佈局:佈局

from kivy.uix.relativelayout import RelativeLayout

固定佈局:flex

from kivy.uix.anchorlayout import AnchorLayout

網格佈局:ui

from kivy.uix.gridlayout import GridLayout

堆疊佈局:

from kivy.uix.stacklayout import StackLayout

使用方式也很簡單,實例化以後,調用add_widget()方法將小部件添加進入便可。

下面,咱們就經過一些實例來了解 Kivy 的幾種經常使用圖形界面佈局。

浮動佈局

在浮動佈局中,小部件基本上不受限制,浮動在佈局中。咱們經過設置小部件的大小和位置,來自由地控制佈局內的小部件。

相對佈局

RelativeLayout 相對佈局和浮動佈局相似,可是浮動佈局內的小部件是基於佈局層的絕對定位,而相對佈局使用的則是相對定位。

固定佈局

AnchorLayout固定佈局用於固定佈局層內小部件的位置,能夠將小部件固定在左側、右側、頂部、底部和中央。

不一樣於上述的佈局方式,固定佈局須要在實例化的時候指定固定方式的參數:

anchor_x參數表示 X 軸座標的固定方式,接受left、center和right;anchor_y參數表示 Y 軸座標的固定方式,接受top、center和bottom;

網格佈局

網格佈局GridLayout在各種圖形界面開發中都是很經常使用的佈局層。經過行和列的設置,它能夠靈活地自適應地控制小部件在佈局層中的位置。

實例化的 GridLayout() 必須指定行rows、列cols 中至少一個值,否則將會拋出異常。例如:

GridLayout(cols=2)

堆疊佈局

堆疊佈局 StackLayout 用於垂直或水平地排列小部件。堆疊佈局支持如下兩種方式來控制小部件的排列:

lr-tb:從左到右,而後從上到下地排列;tb-lr:從上到下,而後從左到右地排列;

經過佈局的orientation來設置上述的堆疊方式,例如:

StackLayout(orientation='lr-tb')

最後

上面就是 Kivy 中比較常見的幾種圖形界面的介紹了。上面介紹的幾個圖形界面佈局實例均來自於覓道文檔的在線教程《使用Kivy構建現代桌面GUI應用》,若是須要上述佈局實例的代碼,能夠點擊「閱讀原文」進行查看。

本文分享自微信公衆號 - 州的先生(zmister2016)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索