以我實際開發的APP為例,
我想做的是可以訓練基本加(減)法的心算工具。
命名app叫 「CountInMind」。
【開始說明】繼續編輯app第4頁,要在類別Forthscreen中加入正負鍵功能。
以下.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觸發功能,呼叫根物件之函式,並將"-"當作參數回傳至函式執行
以下.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字串疊加,也就是轉換成負數
▲說明:先按數字鍵0,使TextInput出現0,再按正負鍵,發現數字無改變
▲說明:數字鍵5,按6次,使TextInput出現555555,發現數字無改變
▲說明:先按清除鍵C,再按22,按下正負鍵,變成-22,負數測試無誤!
▲說明:再按一次正負鍵,變成22,正數測試無誤!
以kivy函式庫的 app模組開發,在創建類別中加入(正負鍵功能)函式,即能改變數字的正負值。
為精簡篇幅,本篇所使用完整(.py)(.kv)程式碼,請參考第9~18篇內容。
在自學路上遇到困難是很正常的事,只要堅持到底,相信就會有所成果,期勉大家一同努力。