【kivy textinput】TextInput部件基本使用-2|Kivy基礎用法

更新 發佈閱讀 10 分鐘



本篇開始:

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



【本篇說明】上一篇分享一些 TextInput部件基本用法,今天接續分享 TextInput部件的文字(背景)顏色及游標使用。

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

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

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout

class firstlayout(BoxLayout):
pass

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

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

▲說明:

1.從 kivy.uix.boxlayout這個模組導入 BoxLayout類別 (如果還沒看過,可參考:【kivy layout】BoxLayout類別的使用方法)

2.創建一個class 類別取名為 firstlayout(可自取無限定命名),然後在()填入 BoxLayout,目的是為了繼承 BoxLayout類別所有特性3.這邊 kivy language(kv),我使用的是"相同命名方式",如果不太懂我說的,可先參考這篇:【kivy language】如何使用 kivy language(kv)



raw-image

▲說明:main.py程式碼


在vscode新增 kivy檔案,我取名 main.kv,並且放在同資料夾內

raw-image

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


加入 TextInput文字及背景顏色

以下.kv程式碼:(在vscode編輯 main.kv,簡稱.kv)

<firstlayout>:
orientation: 'vertical'

Label:
text:'i am a label!'
font_size: 30

TextInput:
text:'i am a textinput'
font_size: 30
foreground_color: 0 ,0 ,0
background_color: 117/255 ,220/255 ,141/255
halign: 'right'

▲說明:

1.加入<firstlayout> : (記得要使用角括號 < >),目的使用"main.py"裡面的類別 firstlayout,也就是 BoxLayout類別的特性

2.在 <firstlayout> 裡面,需先縮排,然後加入 orientation參數

3.orientation:代表排列方向,有區分水平(horizontal)及垂直(vertical)方向,這邊填入 'vertical',要記得加引號''

4.加入 Label部件(可參考這篇:【kivy Label】經常使用的Label(標籤)語法)

5.添加 TextInput部件,使用方式為縮排後加上 TextInput部件名稱,再加上冒號:

6.text: '顯示的字串'

7.font_size: 字體大小

8.【本次新增】foreground_color: 文字顏色(黑色),【注意】這邊跟其他部件使用的參數(font_color)不同

9.【本次新增】background_color: 背景顏色(草綠色)

10.halign: 'text字串對齊方向',可填入 left、right、center,要記得加引號''



raw-image

▲說明:main.kv程式碼

raw-image

▲說明:執行 python檔案,看看顏色是否有效果


加入游標設定

以下.kv程式碼:(在 VSCode編輯 main.kv)

<firstlayout>:
orientation: 'vertical'

Label:
text:'i am a label!'
font_size: 30

TextInput:
text:'i am a textinput'
font_size: 30 # 文字大小
foreground_color: 0 ,0 ,0 # 文字顏色
background_color: 117/255 ,220/255 ,141/255 #背景顏色
halign: 'right'

cursor_color: 'green' # 游標顏色
cursor_blink: False # 游標釘住
cursor_width:5 # 游標寬度

▲說明:(以下均縮排)

1.cursor_color: 游標顏色

2.cursor_blink: 游標閃爍,預設為 True,這邊游標釘住,改 False

3.cursor_width: 游標寬度


raw-image

▲說明:main.kv程式碼

raw-image

▲說明:執行 python檔案,點擊 TextInput,游標為紅框標示處


改成提示文字

以下.kv程式碼:(在 VSCode編輯 main.kv)

<firstlayout>:
orientation: 'vertical'

Label:
text:'i am a label!'
font_size: 30

TextInput:
font_size: 30 # 文字大小
foreground_color: 0 ,0 ,0 # 文字顏色
background_color: 117/255 ,220/255 ,141/255 #背景顏色
halign: 'right'

cursor_color: 'green' # 游標顏色
cursor_blink: False # 游標釘住
cursor_width:5 # 游標寬度

hint_text: 'type password' # 提示字串
# hint_text_color: 10 ,10 ,10 # 提示顏色

▲說明:(以下均縮排)

1.hint_text: 提示字串

2.hint_text_color: 提示字顏色(預設為淺灰色,大部分人的習慣)


raw-image

▲說明:main.kv程式碼

raw-image

▲說明:執行 python檔案


將 TextInput改成密碼模式

以下.kv程式碼:(在 VSCode編輯 main.kv)

<firstlayout>:
orientation: 'vertical'

Label:
text:'i am a label!'
font_size: 30

TextInput:
font_size: 30 # 文字大小
foreground_color: 0 ,0 ,0 # 文字顏色
background_color: 117/255 ,220/255 ,141/255 #背景顏色
halign: 'right'

cursor_color: 'green' # 游標顏色
cursor_blink: False # 游標釘住
cursor_width:5 # 游標寬度

hint_text: 'type password' # 提示字串

password: True # 開啟密碼模式
password_mask: '#' # 預設為'*'

▲說明:(以下均縮排)

1.password: 密碼模式,預設為 False

2.password_mask: 預設為'*'


raw-image

▲說明:main.kv程式碼

raw-image

▲說明:執行 python檔案,輸入文字後會以 # 表達


本篇小結

以上就是接續說明 TextInput部件的基本使用,接下來會加入觸發功能,其他篇章再來分享進階的使用方式。


本篇結束:

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



留言
avatar-img
留言分享你的想法!
avatar-img
艾肯比工程師
3會員
63內容數
主要分享應用程式開發過程、遭遇困難及解決技巧,提供給自學或獨立開發者做為參考,希望能對您們有所幫助。
艾肯比工程師的其他內容
2025/10/28
本篇文章介紹 TextInput部件,是可以在裡面輸入任何字串,簡單來說就是"文字輸入視窗",並示範如何在 Python 和 Kivy中設定 TextInput,包括字串輸入、文字對齊、字體大小與垂直大小調整。
Thumbnail
2025/10/28
本篇文章介紹 TextInput部件,是可以在裡面輸入任何字串,簡單來說就是"文字輸入視窗",並示範如何在 Python 和 Kivy中設定 TextInput,包括字串輸入、文字對齊、字體大小與垂直大小調整。
Thumbnail
2025/10/15
在 Kivy裡面有很多用於佈局(版面)的類別, GridLayout中文翻譯是"網格佈局",是以二維行列方式來佈局,使用效果可以達到多欄多行的排列內容。
Thumbnail
2025/10/15
在 Kivy裡面有很多用於佈局(版面)的類別, GridLayout中文翻譯是"網格佈局",是以二維行列方式來佈局,使用效果可以達到多欄多行的排列內容。
Thumbnail
2025/10/10
在 Kivy裡面有很多用於佈局(版面)的類別,BoxLayout,在字面上翻譯是"盒子佈局",使用的效果是一格一格地將部件做排列,是比較規矩且有順序的佈局方式。
Thumbnail
2025/10/10
在 Kivy裡面有很多用於佈局(版面)的類別,BoxLayout,在字面上翻譯是"盒子佈局",使用的效果是一格一格地將部件做排列,是比較規矩且有順序的佈局方式。
Thumbnail
看更多
你可能也想看
Thumbnail
Sunkronizo 的 Playful Heart 是一款帶著明亮果香與柔和木質調的甜感香水,特別適合星期四使用。前調活潑、尾韻沉靜,陪你從忙碌過渡到週末的輕鬆心情。適合喜歡果香、花果香調的女性,也很適合作為溫暖又有個性的送禮選擇。可於官網、Pinkoi 選購,11 月底起於臺中國家歌劇院寄售。
Thumbnail
Sunkronizo 的 Playful Heart 是一款帶著明亮果香與柔和木質調的甜感香水,特別適合星期四使用。前調活潑、尾韻沉靜,陪你從忙碌過渡到週末的輕鬆心情。適合喜歡果香、花果香調的女性,也很適合作為溫暖又有個性的送禮選擇。可於官網、Pinkoi 選購,11 月底起於臺中國家歌劇院寄售。
Thumbnail
根據美國電影協會(MPA)主辦的「串流服務如何推動臺灣創意經濟」論壇內容,深入探討串流平臺對臺灣影視產業的影響、數據分析、政府政策建議、內容國際化策略,以及臺灣與「韓流」的差距。文章提出 awwrated 在串流生態系中的潛在角色,強調數據、策略與自信是臺灣影視產業發展的關鍵。
Thumbnail
根據美國電影協會(MPA)主辦的「串流服務如何推動臺灣創意經濟」論壇內容,深入探討串流平臺對臺灣影視產業的影響、數據分析、政府政策建議、內容國際化策略,以及臺灣與「韓流」的差距。文章提出 awwrated 在串流生態系中的潛在角色,強調數據、策略與自信是臺灣影視產業發展的關鍵。
Thumbnail
本文將說明如何去辨識出圖片文字​位置及高寬。
Thumbnail
本文將說明如何去辨識出圖片文字​位置及高寬。
Thumbnail
本文利用pyqt5,使用pyttsx3將QLineEdit(單行輸入框)的字串,轉成語音呈現出來。
Thumbnail
本文利用pyqt5,使用pyttsx3將QLineEdit(單行輸入框)的字串,轉成語音呈現出來。
Thumbnail
介紹如何用assign函數在Python中建立新欄位
Thumbnail
介紹如何用assign函數在Python中建立新欄位
Thumbnail
Python語法包括條件語句、迴圈、函數和變數的使用。條件語句如if、elif和else用於進行條件判斷,for和while是兩種主要的迴圈,def用於定義函數。變數可以被賦予數字或字符串,並可使用類型提示來指定變數的類型。註解可以是單行或多行,並可用於解釋函數或類的用途和作用。
Thumbnail
Python語法包括條件語句、迴圈、函數和變數的使用。條件語句如if、elif和else用於進行條件判斷,for和while是兩種主要的迴圈,def用於定義函數。變數可以被賦予數字或字符串,並可使用類型提示來指定變數的類型。註解可以是單行或多行,並可用於解釋函數或類的用途和作用。
Thumbnail
INI 檔案是一種配置檔案格式,常用於保存設定資料和組態資訊。 它使用簡單的鍵值對結構來組織資料,通常用於程式、應用程式或操作系統中的配置和初始化設定。 INI 檔案每個鍵值對包含一個名稱(鍵)和對應的值。 基本的檔案格式如下: [Section1] Key1 = Value1 Key2 =
Thumbnail
INI 檔案是一種配置檔案格式,常用於保存設定資料和組態資訊。 它使用簡單的鍵值對結構來組織資料,通常用於程式、應用程式或操作系統中的配置和初始化設定。 INI 檔案每個鍵值對包含一個名稱(鍵)和對應的值。 基本的檔案格式如下: [Section1] Key1 = Value1 Key2 =
Thumbnail
讓我們從程式開始看起,我們輸入的鍵都是KeY,卻在寫入ini時,都轉換成小寫了。 因為預設情況下,configparser 會將配置文件中的鍵(Key)轉換成小寫形式。也就是說,即使配置文件中鍵的寫法是大寫或混合大小寫,讀取時都會轉換成小寫。 如以下的程式範例 其中的鍵值為KeY1 KeY2
Thumbnail
讓我們從程式開始看起,我們輸入的鍵都是KeY,卻在寫入ini時,都轉換成小寫了。 因為預設情況下,configparser 會將配置文件中的鍵(Key)轉換成小寫形式。也就是說,即使配置文件中鍵的寫法是大寫或混合大小寫,讀取時都會轉換成小寫。 如以下的程式範例 其中的鍵值為KeY1 KeY2
Thumbnail
在Python中,import是一個關鍵字,用於將其他模組或套件中的程式碼引入到當前的程式中以供使用。 這個關鍵字允許你在你的程式中使用其他地方定義的變數、函式和類等。 當你使用import時,Python會搜索指定模組或套件的位置,並將其中的程式碼載入到你的程式中,這樣你就可以在程式中使用它們
Thumbnail
在Python中,import是一個關鍵字,用於將其他模組或套件中的程式碼引入到當前的程式中以供使用。 這個關鍵字允許你在你的程式中使用其他地方定義的變數、函式和類等。 當你使用import時,Python會搜索指定模組或套件的位置,並將其中的程式碼載入到你的程式中,這樣你就可以在程式中使用它們
Thumbnail
設計程式來讀取欲傳送訊息之參數txt檔案,再利用程式自動傳出訊息至LINE群組。能簡易使用於任何場合。
Thumbnail
設計程式來讀取欲傳送訊息之參數txt檔案,再利用程式自動傳出訊息至LINE群組。能簡易使用於任何場合。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News