【kivy layout】BoxLayout類別的使用方法|Kivy基礎用法

更新 發佈閱讀 6 分鐘


本篇開始:

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



【本篇說明】在 Kivy裡面有很多用於佈局(版面)的類別,像是常見的 FloatLayout、 BoxLayout、 GridLayout..等,今天要來介紹的是 BoxLayout,在字面上翻譯是"盒子佈局",使用的效果是一格一格地將部件做排列,是比較規矩且有順序的佈局方式。

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

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

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

class firstlayout(BoxLayout):
pass

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

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

▲說明:

1.從 kivy.uix.boxlayout這個模組導入 BoxLayout類別

2.創建一個class 類別取名為 firstlayout(可自取無限定命名),然後在()填入 BoxLayout,目的是為了繼承 BoxLayout類別所有特性

3.這邊 kivy language(kv),我使用的是"相同命名方式",如果不太懂我說的,可先參考這篇:【kivy language】如何使用 kivy language(kv)


raw-image

▲說明:main.py程式碼


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

raw-image

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


3.在.kv加入 layout內容

先使用4個 Button部件來展示(可參考這篇:【kivy Button】經常使用的Button(按鈕)語法。)

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

<firstlayout>:
spacing: 5
orientation: 'horizontal'

Button:
text:'green light'

Button:
text:'yellow light'

Button:
text:'black light'

Button:
text:'red light'

▲說明:

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

2.在 <firstlayout>裡面,需先縮排,然後加入 spacingorientation兩種屬性

3.spacing: 部件之間的間隔,數字越大代表間隔越大

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

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



raw-image

▲說明:main.kv程式碼

raw-image

▲說明:執行python檔案


【說明】因為是使用 BoxLayout類別,排列方向有其固定規則,像是水平是由左至右、垂直是由上至下,以下再展示垂直方向。

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

<firstlayout>:
spacing: 10
orientation: 'vertical'

Button:
text:'green light'

Button:
text:'yellow light'

Button:
text:'black light'

Button:
text:'red light'
raw-image

▲說明:main.kv程式碼

raw-image

▲說明:執行python檔案


本篇小結

了解BoxLayout類別的基本使用方法後,之後會再分享 GridLayout類別,就會更清楚在版面佈局上的差異。


本篇結束:

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



留言
avatar-img
留言分享你的想法!
avatar-img
艾肯比工程師
3會員
65內容數
主要分享應用程式開發過程、遭遇困難及解決技巧,提供給自學或獨立開發者做為參考,希望能對您們有所幫助。
艾肯比工程師的其他內容
2025/09/30
在 Kivy裡面有很多用於佈局(版面)的類別,其中FloatLayout,在字面上翻譯是"浮點的佈局",使用的效果像是可隨意指定子部件排列位置。
Thumbnail
2025/09/30
在 Kivy裡面有很多用於佈局(版面)的類別,其中FloatLayout,在字面上翻譯是"浮點的佈局",使用的效果像是可隨意指定子部件排列位置。
Thumbnail
2025/09/15
學習如何使用Kivy RoundedButton建立圓角按鈕,本文提供詳細步驟、程式碼範例和圖解說明,助你輕鬆掌握Kivy RoundedButton技巧。
Thumbnail
2025/09/15
學習如何使用Kivy RoundedButton建立圓角按鈕,本文提供詳細步驟、程式碼範例和圖解說明,助你輕鬆掌握Kivy RoundedButton技巧。
Thumbnail
2025/09/08
canvas.before,它的語法跟 canvas是相同的,分享兩種使用的時機(方式)。
Thumbnail
2025/09/08
canvas.before,它的語法跟 canvas是相同的,分享兩種使用的時機(方式)。
Thumbnail
看更多
你可能也想看
Thumbnail
最近整理了一下蝦皮的訂單紀錄,發現自己這一年默默也回購了不少好用的東西~從生活療癒系的小物、實用的除臭保養、到打掃家裡必備的清潔用品都有。這次也順便一起整理了「準備在雙12補貨的清單」,如果剛好你也有在找類似的品項,希望這篇可以給你一些參考。 秘魯進口 高油版聖木 這款聖木我覺得很棒,就是聞起來
Thumbnail
最近整理了一下蝦皮的訂單紀錄,發現自己這一年默默也回購了不少好用的東西~從生活療癒系的小物、實用的除臭保養、到打掃家裡必備的清潔用品都有。這次也順便一起整理了「準備在雙12補貨的清單」,如果剛好你也有在找類似的品項,希望這篇可以給你一些參考。 秘魯進口 高油版聖木 這款聖木我覺得很棒,就是聞起來
Thumbnail
在這個網購紅海時代,你是否也跟作者一樣,最後總是點開蝦皮?從拯救文字工作者的老腰的護脊椅墊,到深夜腦力激盪必備的韓國不倒翁泡麵,作者分享了雙12購物清單中的兩樣「生存」與「靈魂」好物。更重要的是,文章揭露了「蝦皮分潤計畫」如何讓創作者低門檻變現,填滿你的小荷包,實現數位遊牧的夢想。
Thumbnail
在這個網購紅海時代,你是否也跟作者一樣,最後總是點開蝦皮?從拯救文字工作者的老腰的護脊椅墊,到深夜腦力激盪必備的韓國不倒翁泡麵,作者分享了雙12購物清單中的兩樣「生存」與「靈魂」好物。更重要的是,文章揭露了「蝦皮分潤計畫」如何讓創作者低門檻變現,填滿你的小荷包,實現數位遊牧的夢想。
Thumbnail
生完寶寶後 我真的深刻感受到一句話: 「睡不好,皮膚就先離家出走」 常常半夜起來哄寶寶、睡眠不規律 膚況也跟著黯淡、失去彈性>< 身為剛生完孩子的新手媽媽,我現在最在意的兩件事就是: 皮膚要彈潤、睡眠要穩定!! 這陣子我開始嘗試日夜搭配的膠原蛋白: 🌞 TIMESEAL 日間款
Thumbnail
生完寶寶後 我真的深刻感受到一句話: 「睡不好,皮膚就先離家出走」 常常半夜起來哄寶寶、睡眠不規律 膚況也跟著黯淡、失去彈性>< 身為剛生完孩子的新手媽媽,我現在最在意的兩件事就是: 皮膚要彈潤、睡眠要穩定!! 這陣子我開始嘗試日夜搭配的膠原蛋白: 🌞 TIMESEAL 日間款
Thumbnail
發現每天固定一個小動作,肌膚整體狀態真的會更穩定,照鏡子的心情也跟著好起來。 早上我習慣吃一包 TIMESEAL 早安膠原蛋白,粉末狀、很好入口,使用小分子技術,搭配維生素C與專利原料 ( 雙胜肽膠原、PANMOL® NADH)。對我來說,就是先把一天的彈潤感打好底,也讓整天狀態更有精神。 晚
Thumbnail
發現每天固定一個小動作,肌膚整體狀態真的會更穩定,照鏡子的心情也跟著好起來。 早上我習慣吃一包 TIMESEAL 早安膠原蛋白,粉末狀、很好入口,使用小分子技術,搭配維生素C與專利原料 ( 雙胜肽膠原、PANMOL® NADH)。對我來說,就是先把一天的彈潤感打好底,也讓整天狀態更有精神。 晚
Thumbnail
在本章中,我們探討了CSS Grid佈局的基本概念和應用。CSS Grid提供了一個強大而靈活的二維佈局系統,使得處理複雜的網頁佈局變得更加簡單和直觀。我們學習了如何設置Grid容器和Grid項目,以及如何使用各種Grid屬性來定義和管理佈局。
Thumbnail
在本章中,我們探討了CSS Grid佈局的基本概念和應用。CSS Grid提供了一個強大而靈活的二維佈局系統,使得處理複雜的網頁佈局變得更加簡單和直觀。我們學習了如何設置Grid容器和Grid項目,以及如何使用各種Grid屬性來定義和管理佈局。
Thumbnail
CSS 盒模型是理解和設計網頁佈局的核心概念。它包括元素的內容、填充、邊框和外邊距。
Thumbnail
CSS 盒模型是理解和設計網頁佈局的核心概念。它包括元素的內容、填充、邊框和外邊距。
Thumbnail
不論是平面設計、介面設計,都能見排版這一詞。而排版的作用,即在明確的設計目標中,將所有元素做有組織的安排,精確地傳達訊息。
Thumbnail
不論是平面設計、介面設計,都能見排版這一詞。而排版的作用,即在明確的設計目標中,將所有元素做有組織的安排,精確地傳達訊息。
Thumbnail
本篇教學將介紹 renpy 中網格(Grid)的基本造型特性,包括網格的定義、常見造型特性以及使用範例。透過這些內容,讀者可以更瞭解如何在 renpy 中運用網格來製作遊戲畫面。
Thumbnail
本篇教學將介紹 renpy 中網格(Grid)的基本造型特性,包括網格的定義、常見造型特性以及使用範例。透過這些內容,讀者可以更瞭解如何在 renpy 中運用網格來製作遊戲畫面。
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
在這篇教學中,我們會介紹Renpy框框 (Box)的各種造型特性,包括水平框 (hbox)、垂直框 (vbox) 和固定框 (fixed),以及常見特性如spacing、box_reverse和box_wrap。透過這份教學,您將能更瞭解Renpy框框的運作原理和應用,進一步提升Renpy的應用能力
Thumbnail
在這篇教學中,我們會介紹Renpy框框 (Box)的各種造型特性,包括水平框 (hbox)、垂直框 (vbox) 和固定框 (fixed),以及常見特性如spacing、box_reverse和box_wrap。透過這份教學,您將能更瞭解Renpy框框的運作原理和應用,進一步提升Renpy的應用能力
Thumbnail
這個系列的教學會列出基本上所有常見的造型和一些基礎 , 讓各位可以自行搭配造型~在這個第四篇呢 , 我們會來一起了解:常見的窗口 / 框架造型定義他們的意思加了之後有什麼效果那就讓我們開始吧!
Thumbnail
這個系列的教學會列出基本上所有常見的造型和一些基礎 , 讓各位可以自行搭配造型~在這個第四篇呢 , 我們會來一起了解:常見的窗口 / 框架造型定義他們的意思加了之後有什麼效果那就讓我們開始吧!
Thumbnail
建構Anytype之前..... 1.清晰劃分工作區 2.選擇模板套用 3.改變外觀界面
Thumbnail
建構Anytype之前..... 1.清晰劃分工作區 2.選擇模板套用 3.改變外觀界面
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News