10【python kivy app 開發】原來Button也可改變,快來使用DegreeButton

更新於 發佈於 閱讀時間約 3 分鐘


本篇開始:

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

以我實際開發的APP為例,

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

命名app叫 「CountInMind」。


前言:

製作app第2頁:繼續編寫countinmind.kv,在<Secondscreen>底下使用FloatLayout版面


1.接續上一篇內容,這邊說明一下,我將首頁添增一些Label物件,如下圖

raw-image


2.再來參考前幾篇語法,設計出第2頁內容,如下圖

raw-image

▲說明:有新增一個"上一頁"的Button,需在<Firstscreen>下新增name屬性為'first',語法同上一篇的on_release,這樣點擊後才能回到上一頁


3.改變Button形狀(預設為方形的):使用DegreeButton 物件


4.先編寫DegreeButton基本功能:需與Button同段落,程式語法也與Button類似,並加入on_release可轉換至下一頁

以下程式碼(.kv):

DegreeButton:
text: '易'
font_name: './font/TW-Kai-98_1.ttf'
font_size: 23
color: (30/255, 30/255, 30/255)
size_hint: 0.2, 0.15
pos_hint: {'center_x':0.27, 'center_y':0.3}
on_release: root.manager.current = 'third' #先取名下一頁name屬性為'third'


5.接下來需要編寫<DegreeButton@Button>類別:需與<Secondscreen>同段落

以下程式碼(.kv):

<DegreeButton@Button>
background_normal: ''
background_color: (0,0,0,0)
canvas.before:
Color:
rgb: (252/255, 236/255, 231/255)
RoundedRectangle:
size: self.size
pos: self.pos
radius: [65]
raw-image

▲說明:radius為調整圓形弧度,讓DegreeButton變成有點橢圓形了


這邊補充說明一下,background這兩行須寫在<DegreeButton@Button>下,而不是DegreeButton下,否則無法改變Button形狀。


6.本篇小結

加入DegreeButton改變形狀,並加入上一篇所說on_release可轉換至下一頁。


為精簡篇幅,本篇所使用完整(.py)(.kv)程式碼,請接續這篇內容:09.學習Kivy:設置Button按下(release)觸發功能


本篇結束:

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

留言
avatar-img
留言分享你的想法!
avatar-img
艾肯比工程師
1會員
50內容數
主要分享應用程式開發過程、遭遇困難及解決技巧,提供給自學或獨立開發者做為參考,希望能對您們有所幫助。
艾肯比工程師的其他內容
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
2025/04/09
2025/04/09
看更多
你可能也想看
Thumbnail
我的開發環境是win11,python是3.10.7版本,kivy我設定在2.1.0版本,編碼的工具是Visual Studio Code(VS Code),本篇說明如何改變Button形狀(使用DegreeButton),並加入上一篇所說on_release可轉換至下一頁。
Thumbnail
我的開發環境是win11,python是3.10.7版本,kivy我設定在2.1.0版本,編碼的工具是Visual Studio Code(VS Code),本篇說明如何改變Button形狀(使用DegreeButton),並加入上一篇所說on_release可轉換至下一頁。
Thumbnail
我的開發環境是win11,python是3.10.7版本,kivy我設定在2.1.0版本,編碼的工具是Visual Studio Code(VS Code),本篇說明如何設置Button按下(release)觸發功能,添加按鈕觸發功能和畫面轉換。
Thumbnail
我的開發環境是win11,python是3.10.7版本,kivy我設定在2.1.0版本,編碼的工具是Visual Studio Code(VS Code),本篇說明如何設置Button按下(release)觸發功能,添加按鈕觸發功能和畫面轉換。
Thumbnail
我的開發環境是win11,python是3.10.7版本,kivy我設定在2.1.0版本,編碼的工具是Visual Studio Code(VS Code),本篇說明如何設置 Button物件基本功能,如text文字、大小、color顏色以及按鈕(size)大小、(pos)位置。
Thumbnail
我的開發環境是win11,python是3.10.7版本,kivy我設定在2.1.0版本,編碼的工具是Visual Studio Code(VS Code),本篇說明如何設置 Button物件基本功能,如text文字、大小、color顏色以及按鈕(size)大小、(pos)位置。
Thumbnail
【建置環境說明】我的開發環境是win11,python是3.10.7版本、kivy我設定在2.1.0版本,編碼的工具是Visual Studio Code(簡稱vscode)。以我實際開發的APP為例,本篇說明如何增加Label文字框、調整文字(水平垂直)位置及調整顏色。
Thumbnail
【建置環境說明】我的開發環境是win11,python是3.10.7版本、kivy我設定在2.1.0版本,編碼的工具是Visual Studio Code(簡稱vscode)。以我實際開發的APP為例,本篇說明如何增加Label文字框、調整文字(水平垂直)位置及調整顏色。
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
本文利用pyqt5,使用pyttsx3將QLineEdit(單行輸入框)的字串,轉成語音呈現出來。
Thumbnail
本文利用pyqt5,使用pyttsx3將QLineEdit(單行輸入框)的字串,轉成語音呈現出來。
Thumbnail
理解一個全新的操作環境有時候可能是一個挑戰,尤其對於那些剛開始接觸VS Code的開發者來說,即便具備一定的英文閱讀能力,可能也會對這個陌生的操作環境感到徬徨和不安。不過,沒有必要擔心,我們接下來就來一起用短短的一分鐘時間,將VS Code轉換成最熟悉的中文環境吧! 安裝繁體中文語言包 由於VS
Thumbnail
理解一個全新的操作環境有時候可能是一個挑戰,尤其對於那些剛開始接觸VS Code的開發者來說,即便具備一定的英文閱讀能力,可能也會對這個陌生的操作環境感到徬徨和不安。不過,沒有必要擔心,我們接下來就來一起用短短的一分鐘時間,將VS Code轉換成最熟悉的中文環境吧! 安裝繁體中文語言包 由於VS
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News