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

更新 發佈閱讀 8 分鐘



本篇開始:

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

【本篇說明】在kivy裡面,物件(widget)有很多種,今天要講的Label(或稱為"標籤")是很常用的物件(widget)之一,以下介紹幾個進階的語法。

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

以下.py程式碼:(在vscode編輯python檔案,取名為main.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()


raw-image

▲說明:main.py程式碼

2.改變text字型

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

Label:
text:'歡迎來到我的 app !'
font_name: './TW-Kai-98_1.ttf'
font_size: 20
bold: True
color: 'white'
size_hint: .3, .3
pos: 300, 0

▲說明:

1.text:這邊我改用中文字體表達

2.font_name:加入欲使用的字體檔案

3.字體檔案須放在.py同一個目錄資料夾


raw-image
raw-image

▲說明:須同一個目錄資料夾

3.text_size文字框

如果遇到文字太多,可限制框大小,讓文字內容顯示進去。

以下.kv程式碼:

Label:
text:'Welcome to my app !Welcome to my app !Welcome to my app !'
text_size: 250, 300
font_size: 20
bold: True
color: 'blue'
size_hint: None, None
size: 300, 300
pos_hint:{'x':0.5, 'y':0.5}

▲說明:text_size:讓文字框為250, 300

raw-image

4.觸發事件:

on_touch_down

on_touch_up

on_touch_move

以上事件,適用於各種物件,不限於Label(標籤)本身,以下展示前兩種語法。

以下.py程式碼

from kivy.properties import NumericProperty, ObjectProperty

▲說明:導入需要的屬性模組(屬性部分,其他篇章再來介紹)

加入以下.py程式碼

class firstlayout(FloatLayout):
touch_down_number = NumericProperty(0)
touch_up_number = NumericProperty(0)
a1 = ObjectProperty()
a2 = ObjectProperty()

def count1(self):
self.touch_down_number += 1
print(self.touch_down_number)
self.a1.text = f'按下的次數:{self.touch_down_number}'
def count2(self):
self.touch_up_number += 1
print(self.touch_up_number)
self.a2.text = f'放開的次數:{self.touch_up_number}'

▲說明:程式碼有關屬性部分,其他篇章再來介紹

raw-image

以下.kv程式碼:

<firstlayout>:
a1:b1
a2:b2
Label:
text:'歡迎來到我的 app! 按我即可增加數字'
font_name: './TW-Kai-98_1.ttf'
font_size: 40
bold: True
color: 'white'
size_hint: .3, .3
pos_hint: {'center_x': .5, 'y': .7}
on_touch_down: root.count1()
on_touch_up: root.count2()
Label:
id: b1
text:'按下的次數'
font_name: './TW-Kai-98_1.ttf'
font_size: 25
bold: True
color: 'yellow'
size_hint: None, None
size: 200, 200
pos_hint:{'x':0.2}
Label:
id: b2
text:'放開的次數'
font_name: './TW-Kai-98_1.ttf'
font_size: 25
bold: True
color: 'green'
size_hint: None, None
size: 200, 200
pos_hint:{'x':0.6}

▲說明:

1.以上使用三個Label來展示

2.當按下滑鼠時,呼叫main.py檔案中firstlayout類別的函式count1,並記錄按下次數

3.當放開滑鼠時,呼叫main.py檔案中firstlayout類別的函式count2,並記錄放開次數

5.按下執行Python檔案

raw-image
raw-image

▲說明:按下(放開)滑鼠時,觸發事件會開始增加次數

6.本篇小結

本篇介紹幾個Label的進階用法,其中觸發事件可適用於各種物件。

本篇結束:

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


留言
avatar-img
艾肯比工程師
4會員
77內容數
主要分享應用程式開發過程、遭遇困難及解決技巧,提供給自學或獨立開發者做為參考,希望能對您們有所幫助。
艾肯比工程師的其他內容
2025/05/08
在kivy裡面,Label是很常用的物件(widget)之一,簡單來說就是標籤、標題,以下介紹固定常用的語法(文字內容、大小、位置)。
Thumbnail
2025/05/08
在kivy裡面,Label是很常用的物件(widget)之一,簡單來說就是標籤、標題,以下介紹固定常用的語法(文字內容、大小、位置)。
Thumbnail
2025/03/31
本篇以初學者角度詳細說明,透過簡單幾個步驟,就能創建屬於自己的app。
Thumbnail
2025/03/31
本篇以初學者角度詳細說明,透過簡單幾個步驟,就能創建屬於自己的app。
Thumbnail
2025/03/25
超詳細步驟帶你快速安裝能支援操作圖形使用者介面(GUI)及跨平台執行的KIVY函式庫。
Thumbnail
2025/03/25
超詳細步驟帶你快速安裝能支援操作圖形使用者介面(GUI)及跨平台執行的KIVY函式庫。
Thumbnail
看更多
你可能也想看
Thumbnail
債券投資,不只是高資產族群的遊戲 在傳統的投資觀念中,海外債券(Overseas Bonds)常被貼上「高資產族群專屬」的標籤。過去動輒 1 萬甚至 10 萬美元的最低申購門檻,讓許多想尋求穩定配息的小資族望而卻步。 然而,在股市波動劇烈的環境下,尋求穩定的美元現金流與被動收入成為許多投資人
Thumbnail
債券投資,不只是高資產族群的遊戲 在傳統的投資觀念中,海外債券(Overseas Bonds)常被貼上「高資產族群專屬」的標籤。過去動輒 1 萬甚至 10 萬美元的最低申購門檻,讓許多想尋求穩定配息的小資族望而卻步。 然而,在股市波動劇烈的環境下,尋求穩定的美元現金流與被動收入成為許多投資人
Thumbnail
透過川普的近期債券交易揭露,探討債券作為資產配置中「穩定磐石」的重要性。文章分析降息對債券的潛在影響,以及股神巴菲特的操作策略。並介紹玉山證券「小額債」平臺,如何讓小資族也能低門檻參與海外債券市場,實現「低門檻、低波動、固定收益」的務實投資方式。
Thumbnail
透過川普的近期債券交易揭露,探討債券作為資產配置中「穩定磐石」的重要性。文章分析降息對債券的潛在影響,以及股神巴菲特的操作策略。並介紹玉山證券「小額債」平臺,如何讓小資族也能低門檻參與海外債券市場,實現「低門檻、低波動、固定收益」的務實投資方式。
Thumbnail
解析「債券」如何成為資產配置中的穩定錨,提供低風險高回報的投資選項。 藉由玉山證券的低門檻債券服務,投資者可輕鬆入手,平衡風險並穩定財務。
Thumbnail
解析「債券」如何成為資產配置中的穩定錨,提供低風險高回報的投資選項。 藉由玉山證券的低門檻債券服務,投資者可輕鬆入手,平衡風險並穩定財務。
Thumbnail
相較於波動較大的股票,債券能提供固定現金流,而玉山證券推出的小額債,更以1000 美元的低門檻,讓學生與新手也能參與全球優質企業債投資。玉山E-Trader平台即時報價、條件式篩選與清楚的交易流程等特色,大幅降低投資難度,對於希望分散風險、建立穩定現金流的人來說,玉山小額債是一個值得嘗試的理財起點。
Thumbnail
相較於波動較大的股票,債券能提供固定現金流,而玉山證券推出的小額債,更以1000 美元的低門檻,讓學生與新手也能參與全球優質企業債投資。玉山E-Trader平台即時報價、條件式篩選與清楚的交易流程等特色,大幅降低投資難度,對於希望分散風險、建立穩定現金流的人來說,玉山小額債是一個值得嘗試的理財起點。
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
本文總結和介紹了Kotlin的基本語法、註解和變數的使用,透過實例進行講解,以幫助讀者更好地理解和快速上手Kotlin語言。
Thumbnail
本文總結和介紹了Kotlin的基本語法、註解和變數的使用,透過實例進行講解,以幫助讀者更好地理解和快速上手Kotlin語言。
Thumbnail
Anytype主要分為四區塊:目錄欄(Widget組成)、主編輯畫面、導航選單、設定區。
Thumbnail
Anytype主要分為四區塊:目錄欄(Widget組成)、主編輯畫面、導航選單、設定區。
Thumbnail
Python的模組和庫是可重用的程式碼塊,可透過import語句引入。特定部分可以透過from和import引入,並可使用as指定別名。第三方模組可透過pip工具安裝並在程式碼中使用。此外,也可以創建自定義模組並在其他Python文件中引用。
Thumbnail
Python的模組和庫是可重用的程式碼塊,可透過import語句引入。特定部分可以透過from和import引入,並可使用as指定別名。第三方模組可透過pip工具安裝並在程式碼中使用。此外,也可以創建自定義模組並在其他Python文件中引用。
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
在Python中,import是一個關鍵字,用於將其他模組或套件中的程式碼引入到當前的程式中以供使用。 這個關鍵字允許你在你的程式中使用其他地方定義的變數、函式和類等。 當你使用import時,Python會搜索指定模組或套件的位置,並將其中的程式碼載入到你的程式中,這樣你就可以在程式中使用它們
Thumbnail
在Python中,import是一個關鍵字,用於將其他模組或套件中的程式碼引入到當前的程式中以供使用。 這個關鍵字允許你在你的程式中使用其他地方定義的變數、函式和類等。 當你使用import時,Python會搜索指定模組或套件的位置,並將其中的程式碼載入到你的程式中,這樣你就可以在程式中使用它們
Thumbnail
當我們在撰寫一套系統的時候, 總是會提供一個介面讓使用者來觸發功能模組並回傳使用者所需的請求, 而傳統的安裝包模式總是太侷限, 需要個別主機獨立安裝, 相當繁瑣, 但隨著時代的演進與互聯網的崛起, 大部分的工作都可以藉由網頁端、裝置端來觸發, 而伺服端則是負責接收指令、運算與回傳結果, 雲端
Thumbnail
當我們在撰寫一套系統的時候, 總是會提供一個介面讓使用者來觸發功能模組並回傳使用者所需的請求, 而傳統的安裝包模式總是太侷限, 需要個別主機獨立安裝, 相當繁瑣, 但隨著時代的演進與互聯網的崛起, 大部分的工作都可以藉由網頁端、裝置端來觸發, 而伺服端則是負責接收指令、運算與回傳結果, 雲端
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News