以我實際開發的APP為例,
我想做的是可以訓練基本加(減)法的心算工具。
命名app叫 「CountInMind」。
【開始說明】接下來要進入CountInMind app核心頁面,也就是screen第4頁,要加入數字鍵、自動出題以及答題、結算成績等功能。
以下.kv程式碼(先以數字鍵7來展示):
Button:
text: '7'
font_size: 30
color: root.text_color
background_color: root.number_btn_bgcolor
size_hint: 0.2, 0.15
on_press: root.number_btn(self.text)
▲說明:新增on_press觸發功能,呼叫根物件number_btn()函式,並將self.text內容,回傳至函式參數
以下.py程式碼
# 定義數字鍵函式
def number_btn(self, num):
self.prior = self.ids.textinput.text # 一開始為''
if self.prior == "0":
self.ids.textinput.text = num
else:
if len(self.prior) >= 6:
self.ids.textinput.text = f'{self.prior}'
else:
# 字串疊加
self.ids.textinput.text = f'{self.prior}{num}'
▲說明:
1.函式的 num參數就是前面.kv程式碼所寫的self.text內容,也就是'7'
2.自訂一個 prior變數等於 TextInput的text內容,也就是''(對應TextInput的id屬性為 textinput)
3.判斷句,如果 prior變數等於'0',則讓 TextInput的text內容變成 num參數內容,否則進入另一個判斷句
4.判斷句,如果 prior變數的字串長度超過6個的話,就讓 TextInput的text內容等於前一次 prior,否則字串繼續疊加
▲說明:會發現TextInput的text內容被我限制在6個數字了
▲說明:其他數字鍵功能測試無誤!
加入0~9數字鍵功能,使app第4頁類似計算機的介面更為豐富了。
★★★為精簡篇幅,本篇所使用完整(.py)(.kv)程式碼,請參考第9~17篇內容
在自學路上遇到困難是很正常的事,只要堅持到底,相信就會有所成果,期勉大家一同努力。