【kivy Widget】改變 widget物件的字型|Kivy基礎用法

更新 發佈閱讀 5 分鐘


本篇開始:

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



【本篇說明】在 kivy這個第三方函式庫裡面,物件(widget)有很多種,比如Label、Button、Textinput…等,以下分享如何在各個物件(widget)裡面改變預設的字型。

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

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

from kivy.app import App
from kivy.uix.floatlayout import FloatLayout

class showcase(FloatLayout):
pass

class main(App):
def build(self):
return showcase()

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

▲說明:

1.從 kivy.app模組導入 App類別

2.從 kivy.uix.floatlayout模組導入 FloatLayout類別

3.創建類別 showcase,使其繼承 FloatLayout類別,也可以使待會的 main.kv中的可以套用特性

4.創建類別 main,使其繼承 App類別


raw-image

▲說明:main.py程式碼

2.在 VSCode新增(kivy)檔案,我取名 main.kv

kivy language,我使用的是"相同命名方式",如果不太懂我說的,可參考:【kivy language】如何使用 kivy language(kv)。

raw-image

▲說明:我的是放在以下路徑:桌面-> python-> Kivy-> test


加入main.kv內容

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

<showcase>:
Label:
text:'hi 這是我的第一個 app'
font_size: 30
color: 'lightgreen'

▲說明:先以 Label物件來展示,基本用法可參考:【kivy Label】經常使用的Label(標籤)語法


執行 Python檔案

raw-image

▲說明:會發現中文地方顯示亂碼,因為字體預設是英文


加入字體檔案

這邊下載3種字體檔案,並放在主程式main.py相同資料夾內

raw-image


改寫以下.kv程式碼:

Label:
text:'hi 這是我的第一個 app'
font_size: 30
color: 'lightgreen'
font_name:'./HachiMaruPop-Regular.ttf' # 新增此參數

▲說明:使用 font_name: './裡面放字體檔名'

raw-image

▲說明:執行 Python 檔案,中文(泡泡體)正常顯示了。


如果放在 main.py下的其他資料夾

改寫以下.kv程式碼:

Label:
text:'hi 這是我的第一個 app'
font_size: 30
color: 'lightgreen'
font_name:'./font/HachiMaruPop-Regular.ttf' # 改寫這樣
raw-image

▲說明:字體檔案路徑資料夾


改以其他物件展示

以下.kv程式碼:

Button:
text:'hi 這是我的第一個 app'
font_size: 30
color: 'lightgreen'
font_name:'./simsun.ttf'
raw-image

▲說明:字體變成"新細明體"


以下.kv程式碼:

TextInput:
text:'hi 這是我的第一個 app'
font_size: 30
font_name:'./font/simsun.ttf'
raw-image

▲說明:字體變成"標楷體"


本篇小結

物件字體可以依個人喜好來選擇,但要注意,字體只能用在開發使用,如果要從事商業,請找官方免費字體(例如數位發展部的"全字庫"或Google Fonts)或是自費使用。


本篇結束:

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


留言
avatar-img
留言分享你的想法!
avatar-img
艾肯比工程師
3會員
68內容數
主要分享應用程式開發過程、遭遇困難及解決技巧,提供給自學或獨立開發者做為參考,希望能對您們有所幫助。
艾肯比工程師的其他內容
2025/12/10
本文說明 Kivy 中的 ObjectProperty,學習如何運用它與 Kivy Widget 進行綁定,並透過屬性變更觸發事件,以撰寫更靈活、更易於維護的程式碼。
Thumbnail
2025/12/10
本文說明 Kivy 中的 ObjectProperty,學習如何運用它與 Kivy Widget 進行綁定,並透過屬性變更觸發事件,以撰寫更靈活、更易於維護的程式碼。
Thumbnail
2025/12/03
本文將介紹 Kivy 中 StringProperty(字串屬性)的用法,透過實際範例說明如何宣告、調用及觸發事件,提升程式碼的可維護性和互動性。
Thumbnail
2025/12/03
本文將介紹 Kivy 中 StringProperty(字串屬性)的用法,透過實際範例說明如何宣告、調用及觸發事件,提升程式碼的可維護性和互動性。
Thumbnail
2025/11/28
本篇分享 Kivy 的 ColorProperty(顏色屬性),說明其與變數的差異,以及如何在 Python 和 Kivy Language (kv) 中應用。透過實際範例,展示如何設定顏色、觸發事件,並解答為何使用屬性而非變數。
Thumbnail
2025/11/28
本篇分享 Kivy 的 ColorProperty(顏色屬性),說明其與變數的差異,以及如何在 Python 和 Kivy Language (kv) 中應用。透過實際範例,展示如何設定顏色、觸發事件,並解答為何使用屬性而非變數。
Thumbnail
看更多