20.【python kivy app 開發】定義類別函式,正負號按鍵功能實作,讓數字輕鬆就能轉換正負值!

更新 發佈閱讀 4 分鐘


本篇開始:

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

以我實際開發的APP為例,

我想做的是可以訓練基本加(減)法的心算工具。

命名app叫 「CountInMind」。


【開始說明】繼續編輯app第4頁,要在類別Forthscreen中加入正負鍵功能

1.加入正負數鍵功能,並顯示在TextInput中

以下.kv程式碼:

Button:
text: '+/–'
font_size: 30
color: root.text_color
background_color: root.number_btn_bgcolor
size_hint: 0.2, 0.15
on_press: root.plus_minus_btn('-')

▲說明:新增on_press觸發功能,呼叫根物件之函式,並將"-"當作參數回傳至函式執行


2.再來在.py編寫 class Forthscreen(Screen)以下這段內容

以下.py程式碼:

# 正負數鍵
def plus_minus_btn(self, sign):
self.prior = self.ids.textinput.text
if self.prior == "0" or self.prior == '':
self.ids.textinput.text = self.prior
else:
if len(self.prior) >= 6:
self.ids.textinput.text = self.prior
# 變成正數
elif sign in self.prior:
self.ids.textinput.text = str(int(self.prior)*-1)
else:
# 字串疊加: 變成負數
self.ids.textinput.text = f'{sign}{self.prior}'

★★★說明:

1.先創建函式的起手式,我取名叫plus_minus_btn(self, sign),其中sign為參數,也就是'-'

2.建立一個屬性prior,讓其為TextInput的text內容,要視當時text內容為何(TextInput的id屬性為 textinput)

3.建立一個判斷句,如果prior等於0這個字串,或等於空字串時,讓TextInput的text內容為prior

4.反之進入else,再另一個判斷句,如果prior的字串長度大於或等於6,讓此時TextInput的text內容維持不變

5.或如果sign參數有出現在prior,則進行數字轉換成正數

6.假設第4及5項的判斷句都是False的話,則進行sign及prior字串疊加,也就是轉換成負數


vocus|新世代的創作平台

▲說明:先按數字鍵0,使TextInput出現0,再按正負鍵,發現數字無改變

vocus|新世代的創作平台

▲說明:數字鍵5,按6次,使TextInput出現555555,發現數字無改變

vocus|新世代的創作平台

▲說明:先按清除鍵C,再按22,按下正負鍵,變成-22,負數測試無誤!

vocus|新世代的創作平台

▲說明:再按一次正負鍵,變成22,正數測試無誤!

3.本篇小結

以kivy函式庫的 app模組開發,在創建類別中加入(正負鍵功能)函式,即能改變數字的正負值。


為精簡篇幅,本篇所使用完整(.py)(.kv)程式碼,請參考第9~18篇內容。


本篇結束:

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



留言
avatar-img
艾肯比工程師
4會員
78內容數
主要分享應用程式開發過程、遭遇困難及解決技巧,提供給自學或獨立開發者做為參考,希望能對您們有所幫助。
艾肯比工程師的其他內容
2025/04/30
這篇文章記錄了使用Kivy框架開發一個心算訓練APP的過程,其中介紹使用Python程式碼產生隨機數字,並在介面上顯示。文章以我開發 CountInMind APP為例,說明如何隨機數字生成、避免數字重複以及加減法計算等功能。本篇為求精簡,完整的程式碼請參考先前文章中分享內容。
Thumbnail
2025/04/30
這篇文章記錄了使用Kivy框架開發一個心算訓練APP的過程,其中介紹使用Python程式碼產生隨機數字,並在介面上顯示。文章以我開發 CountInMind APP為例,說明如何隨機數字生成、避免數字重複以及加減法計算等功能。本篇為求精簡,完整的程式碼請參考先前文章中分享內容。
Thumbnail
2025/04/23
這篇文章記錄了使用Kivy框架開發一個心算訓練APP的過程,其中介紹使用Python程式碼產生隨機數字,並在介面上顯示。文章以我開發 CountInMind APP為例,說明如何隨機數字生成、避免數字重複以及減法計算等功能。本篇為求精簡,完整的程式碼請參考先前文章中分享內容。
Thumbnail
2025/04/23
這篇文章記錄了使用Kivy框架開發一個心算訓練APP的過程,其中介紹使用Python程式碼產生隨機數字,並在介面上顯示。文章以我開發 CountInMind APP為例,說明如何隨機數字生成、避免數字重複以及減法計算等功能。本篇為求精簡,完整的程式碼請參考先前文章中分享內容。
Thumbnail
2025/04/18
這篇文章記錄了使用Kivy框架開發一個心算訓練APP的過程,其中介紹使用Python程式碼產生隨機數字,並在介面上顯示。文章以我開發 CountInMind APP為例,說明如何隨機數字生成、避免數字重複以及加法總和計算等功能。本篇為求精簡,完整的程式碼請參考先前文章中分享內容。
Thumbnail
2025/04/18
這篇文章記錄了使用Kivy框架開發一個心算訓練APP的過程,其中介紹使用Python程式碼產生隨機數字,並在介面上顯示。文章以我開發 CountInMind APP為例,說明如何隨機數字生成、避免數字重複以及加法總和計算等功能。本篇為求精簡,完整的程式碼請參考先前文章中分享內容。
Thumbnail
看更多
你可能也想看
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
若說易卜生的《玩偶之家》為 19 世紀的女性,開啟了一扇離家的窄門,那麼《海妲.蓋柏樂》展現的便是門後的窒息世界。本篇文章由劇場演員 Amily 執筆,同為熟稔文本的演員,亦是深刻體察制度縫隙的當代女性,此文所看見的不僅僅是崩壞前夕的最後發聲,更是女人被迫置於冷酷的制度之下,步步陷入無以言說的困境。
Thumbnail
若說易卜生的《玩偶之家》為 19 世紀的女性,開啟了一扇離家的窄門,那麼《海妲.蓋柏樂》展現的便是門後的窒息世界。本篇文章由劇場演員 Amily 執筆,同為熟稔文本的演員,亦是深刻體察制度縫隙的當代女性,此文所看見的不僅僅是崩壞前夕的最後發聲,更是女人被迫置於冷酷的制度之下,步步陷入無以言說的困境。
Thumbnail
在Python中,我們可以用def關鍵字定義函數,並透過函數名稱呼叫它。函數參數可以是必填、關鍵字、默認或不定長度的類型。return語句負責結束函數並回傳值。全域變數可以在整個程序中使用,而區域變數只能在特定函數內使用。我們還可以在一個文件中定義函數,然後在另一個文件中呼叫它。
Thumbnail
在Python中,我們可以用def關鍵字定義函數,並透過函數名稱呼叫它。函數參數可以是必填、關鍵字、默認或不定長度的類型。return語句負責結束函數並回傳值。全域變數可以在整個程序中使用,而區域變數只能在特定函數內使用。我們還可以在一個文件中定義函數,然後在另一個文件中呼叫它。
Thumbnail
今天來介紹python的函式 函式在python中是非常重要的一環,因為到了後期,程式會越來越複雜。 而函式可以想成是容易管理的小程式,當我們需要使用時,只需呼叫即可。
Thumbnail
今天來介紹python的函式 函式在python中是非常重要的一環,因為到了後期,程式會越來越複雜。 而函式可以想成是容易管理的小程式,當我們需要使用時,只需呼叫即可。
Thumbnail
本文利用pyqt5,使用pyttsx3將QLineEdit(單行輸入框)的字串,轉成語音呈現出來。
Thumbnail
本文利用pyqt5,使用pyttsx3將QLineEdit(單行輸入框)的字串,轉成語音呈現出來。
Thumbnail
本文深度解析賽勒布倫尼科夫的舞臺作品《傳奇:帕拉贊諾夫的十段殘篇》,如何以十段殘篇,結合帕拉贊諾夫的電影美學、象徵意象與當代政治流亡抗爭,探討藝術在儀式消失的現代社會如何承接意義,並展現不羈的自由靈魂。
Thumbnail
本文深度解析賽勒布倫尼科夫的舞臺作品《傳奇:帕拉贊諾夫的十段殘篇》,如何以十段殘篇,結合帕拉贊諾夫的電影美學、象徵意象與當代政治流亡抗爭,探討藝術在儀式消失的現代社會如何承接意義,並展現不羈的自由靈魂。
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
這篇內容,將會講解什麼是函式,以及與函式相關的知識。包括函式的簡介、Runtime Function、自訂函式、Script Function 腳本函式、Method 方法。
Thumbnail
這篇內容,將會講解什麼是函式,以及與函式相關的知識。包括函式的簡介、Runtime Function、自訂函式、Script Function 腳本函式、Method 方法。
Thumbnail
INI 檔案是一種配置檔案格式,常用於保存設定資料和組態資訊。 它使用簡單的鍵值對結構來組織資料,通常用於程式、應用程式或操作系統中的配置和初始化設定。 INI 檔案每個鍵值對包含一個名稱(鍵)和對應的值。 基本的檔案格式如下: [Section1] Key1 = Value1 Key2 =
Thumbnail
INI 檔案是一種配置檔案格式,常用於保存設定資料和組態資訊。 它使用簡單的鍵值對結構來組織資料,通常用於程式、應用程式或操作系統中的配置和初始化設定。 INI 檔案每個鍵值對包含一個名稱(鍵)和對應的值。 基本的檔案格式如下: [Section1] Key1 = Value1 Key2 =
Thumbnail
長期以來,西方美學以《維特魯威人》式的幾何比例定義「完美身體」,這種視覺標準無形中成為殖民擴張與種族分類的暴力工具。本文透過分析奈及利亞編舞家庫德斯.奧尼奎庫的舞作《轉轉生》,探討當代非洲舞蹈如何跳脫「標本式」的文化觀看。
Thumbnail
長期以來,西方美學以《維特魯威人》式的幾何比例定義「完美身體」,這種視覺標準無形中成為殖民擴張與種族分類的暴力工具。本文透過分析奈及利亞編舞家庫德斯.奧尼奎庫的舞作《轉轉生》,探討當代非洲舞蹈如何跳脫「標本式」的文化觀看。
Thumbnail
全新版本的《三便士歌劇》如何不落入「復刻經典」的巢臼,反而利用華麗的秀場視覺,引導觀眾在晚期資本主義的消費愉悅之中,而能驚覺「批判」本身亦可能被收編——而當絞繩升起,這場關於如何生存的黑色遊戲,又將帶領新時代的我們走向何種後現代的自我解構?
Thumbnail
全新版本的《三便士歌劇》如何不落入「復刻經典」的巢臼,反而利用華麗的秀場視覺,引導觀眾在晚期資本主義的消費愉悅之中,而能驚覺「批判」本身亦可能被收編——而當絞繩升起,這場關於如何生存的黑色遊戲,又將帶領新時代的我們走向何種後現代的自我解構?
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News