【kivy Label】經常使用的Label(標籤)語法|Kivy基礎用法

更新於 發佈於 閱讀時間約 7 分鐘



本篇開始:

  • 我的開發環境是win11
  • python是3.10.7版本
  • kivy我設定在2.1.0版本
  • 編碼的工具是Visual Studio Code(VS Code)



【本篇說明】在kivy裡面,物件(widget)有很多種,比如Label、Button、Textinput、CheckBox等,今天要講的Label(或稱為"標籤")是很常用的物件(widget)之一,以下介紹固定常用的語法。

1.先在main.py寫下固定的程式碼

以下.py程式碼:(在vscode編輯python檔案,取名為main.py,以下簡稱.py)

from kivy.app import App
from kivy.core.window import Window
from kivy.uix.floatlayout import FloatLayout

print(Window.size)

class firstlayout(FloatLayout):
pass

class Mainapp(App):
def build(self):
return firstlayout()

if __name__ == "__main__":
Mainapp().run()

▲說明:

1.除了導入固定類別外,還須從kivy.uix.floatlayout模組導入FloatLayout類別。

2.創建類別firstlayout,使其繼承FloatLayout類別特性,也可以使待會的 main.kv中的<firstlayout>可以沿用特性

3.創建類別Mainapp,使其繼承App類別特性


raw-image

▲說明:main.py程式碼

2.加入Label text內容

以下.kv程式碼:(在vscode編輯kivy檔案,取名為main.kv,以下簡稱.kv)

Label:
text:'Welcome to my app !'
font_size: 20
bold: True
color: 'white'

▲說明:

1.text:'為顯示內容'

2.font_size:決定text字體大小

3.bold:加入text字體粗體效果

4.color:'可改變text字體顏色'

3.改變Label大小,可使用size或size_hint參數

以下.kv程式碼:(使用size參數)

Label:
size_hint: None, None
size: 500, 500

▲說明:

1.size參數為絕對大小,使用語法為 size: x, y (x為水平大小、y為垂直大小)

2.使用size參數時,需加入這段size_hint: None, None,否則會無效

3.使x=500、y=500

raw-image

▲說明:因為Label的背景會看不出效果,下面我改用Button展示,兩個物件(Label、Button)的size及size_hint語法相同


raw-image

▲說明:從終端機看到,預設視窗大小為1000,750【視窗調整可看這篇】,這邊用size: 500, 500

以下.kv程式碼:(使用size_hint參數)

Label:
size_hint: .3, .3 #也可以 size_hint: 0.3, 0.3

▲說明:

1.size_hint參數為相對大小,也就是與視窗大小為基準去做比對大小

2.使用語法為 size_hint:{'x': 0.a, 'y': 0.b},也可以寫成 size_hint:{'x': .a, 'y': .b},x為物件水平大小、y為物件垂直大小,這邊 0.a 意思為 0.a*視窗水平大小,0.b 意思為 0.b*視窗垂直大小

3.上述也可簡化寫成為 size_hint: 0.a, 0.b,也可以改成 size_hint: .a, .b,通常我都是這樣寫法,也就是說物件大小為0.3*視窗水平大小、0.3*視窗垂直大小


raw-image

4.改變Label位置,可使用pos或 pos_hint參數

以下.kv程式碼:(使用pos參數)

Label:
pos: 300, 0

▲說明:

1.以視窗左下角為原點起算,物件部分也是以左下角為基準點起算

2.pos參數為絕對位置,使用語法為 pos: x, y (x為水平距離、y為垂直距離,可以用x、y座標來看)

3.使x=300、y=0


raw-image

▲說明:預設視窗大小為1000,750,這邊用pos: 300, 0

以下.kv程式碼:(使用pos_hint參數)

Label:
pos_hint:{'x':0.3, 'y':0.3}

▲說明:

1.以視窗左下角為原點起算,物件部分也是以左下角為基準點起算

2.pos_hint參數為相對位置,使用語法為 pos_hint:{'x':0.a, 'y':0.b},x為物件水平位置、y為物件垂直位置,這邊 0.a 意思為 0.a*視窗水平大小,0.b 意思為 0.b*視窗垂直大小

3.上述也可簡化寫成為 pos_hint:{'x': .a, 'y': .b}

raw-image

5.另一種我比較常用語法 pos_hint:{'center_x':0.a, 'center_y':0.b}

▲說明:

1.以視窗左下角為原點起算,但物件部分是以水平及垂直中心為基準點起算

2.center_x為物件水平中心位置、center_y為物件垂直中心位置

3.這邊就沒有展示圖片,留給讀者自行測試

6.綜合測試,執行Python檔案

raw-image

▲說明:加入兩個物件,改用Button展示,可比較一下兩種不同大小及位置表達。

raw-image

▲說明:完整.kv程式碼

7.本篇小結

Label經常用法就這些了!個人還滿常使用center參數的,可以參考看看。

本篇結束:

在自學路上遇到困難是很正常的事,只要堅持到底,相信就會有所成果,期勉大家一同努力。


留言
avatar-img
留言分享你的想法!
avatar-img
艾肯比工程師
1會員
51內容數
主要分享應用程式開發過程、遭遇困難及解決技巧,提供給自學或獨立開發者做為參考,希望能對您們有所幫助。
艾肯比工程師的其他內容
2025/03/31
本篇以初學者角度詳細說明,透過簡單幾個步驟,就能創建屬於自己的app。
Thumbnail
2025/03/31
本篇以初學者角度詳細說明,透過簡單幾個步驟,就能創建屬於自己的app。
Thumbnail
2025/03/25
超詳細步驟帶你快速安裝能支援操作圖形使用者介面(GUI)及跨平台執行的KIVY函式庫。
Thumbnail
2025/03/25
超詳細步驟帶你快速安裝能支援操作圖形使用者介面(GUI)及跨平台執行的KIVY函式庫。
Thumbnail
2025/03/24
本篇以詳細步驟並搭配圖片,帶你安裝Visual Studio Code、Python建置環境,完成後就能開始Python語言編輯。
Thumbnail
2025/03/24
本篇以詳細步驟並搭配圖片,帶你安裝Visual Studio Code、Python建置環境,完成後就能開始Python語言編輯。
Thumbnail
看更多
你可能也想看
Thumbnail
在這個章節中,我們介紹了HTML的基本概念,包括其作為結構化標記語言的特性、應用領域,以及主要使用者。這些知識為後續的深入學習和實踐奠定了基礎,幫助讀者了解HTML在現代網頁開發中的重要性。
Thumbnail
在這個章節中,我們介紹了HTML的基本概念,包括其作為結構化標記語言的特性、應用領域,以及主要使用者。這些知識為後續的深入學習和實踐奠定了基礎,幫助讀者了解HTML在現代網頁開發中的重要性。
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
本文總結和介紹了Kotlin的基本語法、註解和變數的使用,透過實例進行講解,以幫助讀者更好地理解和快速上手Kotlin語言。
Thumbnail
本文總結和介紹了Kotlin的基本語法、註解和變數的使用,透過實例進行講解,以幫助讀者更好地理解和快速上手Kotlin語言。
Thumbnail
Anytype主要分為四區塊:目錄欄(Widget組成)、主編輯畫面、導航選單、設定區。
Thumbnail
Anytype主要分為四區塊:目錄欄(Widget組成)、主編輯畫面、導航選單、設定區。
Thumbnail
在Python中,我們可以用def關鍵字定義函數,並透過函數名稱呼叫它。函數參數可以是必填、關鍵字、默認或不定長度的類型。return語句負責結束函數並回傳值。全域變數可以在整個程序中使用,而區域變數只能在特定函數內使用。我們還可以在一個文件中定義函數,然後在另一個文件中呼叫它。
Thumbnail
在Python中,我們可以用def關鍵字定義函數,並透過函數名稱呼叫它。函數參數可以是必填、關鍵字、默認或不定長度的類型。return語句負責結束函數並回傳值。全域變數可以在整個程序中使用,而區域變數只能在特定函數內使用。我們還可以在一個文件中定義函數,然後在另一個文件中呼叫它。
Thumbnail
Python是一種易學且功能強大的程式語言,具有直譯、動態語法等特性,並擁有豐富的標準庫。它在各領域如Web開發、數據科學和人工智慧等得到廣泛應用,並被許多大公司如Google和Facebook等使用。Python還有強大的框架、豐富的交互機能、和龐大的社區。
Thumbnail
Python是一種易學且功能強大的程式語言,具有直譯、動態語法等特性,並擁有豐富的標準庫。它在各領域如Web開發、數據科學和人工智慧等得到廣泛應用,並被許多大公司如Google和Facebook等使用。Python還有強大的框架、豐富的交互機能、和龐大的社區。
Thumbnail
INI 檔案是一種配置檔案格式,常用於保存設定資料和組態資訊。 它使用簡單的鍵值對結構來組織資料,通常用於程式、應用程式或操作系統中的配置和初始化設定。 INI 檔案每個鍵值對包含一個名稱(鍵)和對應的值。 基本的檔案格式如下: [Section1] Key1 = Value1 Key2 =
Thumbnail
INI 檔案是一種配置檔案格式,常用於保存設定資料和組態資訊。 它使用簡單的鍵值對結構來組織資料,通常用於程式、應用程式或操作系統中的配置和初始化設定。 INI 檔案每個鍵值對包含一個名稱(鍵)和對應的值。 基本的檔案格式如下: [Section1] Key1 = Value1 Key2 =
Thumbnail
當我們在撰寫一套系統的時候, 總是會提供一個介面讓使用者來觸發功能模組並回傳使用者所需的請求, 而傳統的安裝包模式總是太侷限, 需要個別主機獨立安裝, 相當繁瑣, 但隨著時代的演進與互聯網的崛起, 大部分的工作都可以藉由網頁端、裝置端來觸發, 而伺服端則是負責接收指令、運算與回傳結果, 雲端
Thumbnail
當我們在撰寫一套系統的時候, 總是會提供一個介面讓使用者來觸發功能模組並回傳使用者所需的請求, 而傳統的安裝包模式總是太侷限, 需要個別主機獨立安裝, 相當繁瑣, 但隨著時代的演進與互聯網的崛起, 大部分的工作都可以藉由網頁端、裝置端來觸發, 而伺服端則是負責接收指令、運算與回傳結果, 雲端
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News