- Kivy 教程
- Kivy - 首頁
- Kivy 基礎
- Kivy - 入門
- Kivy - 安裝
- Kivy - 架構
- Kivy - 檔案語法
- Kivy - 應用
- Kivy - Hello World
- Kivy - 應用生命週期
- Kivy - 事件
- Kivy - 屬性
- Kivy - 輸入
- Kivy - 行為
- Kivy 按鈕
- Kivy - 按鈕
- Kivy - 按鈕事件
- Kivy - 按鈕顏色
- Kivy - 按鈕大小
- Kivy - 按鈕位置
- Kivy - 圓形按鈕
- Kivy - 停用按鈕
- Kivy - 圖片按鈕
- Kivy 控制元件
- Kivy - 控制元件
- Kivy - 標籤
- Kivy - 文字輸入
- Kivy - 畫布
- Kivy - 線
- Kivy - 複選框
- Kivy - 下拉列表
- Kivy - 視窗
- Kivy - 滾動檢視
- Kivy - 走馬燈
- Kivy - 滑塊
- Kivy - 圖片
- Kivy - 彈出視窗
- Kivy - 開關
- Kivy - 微調器
- Kivy - 分隔器
- Kivy - 進度條
- Kivy - 氣泡
- Kivy - 標籤頁面板
- Kivy - 散點圖
- Kivy - 手風琴
- Kivy - 檔案選擇器
- Kivy - 顏色拾取器
- Kivy - 程式碼輸入
- Kivy - 模態檢視
- Kivy - 切換按鈕
- Kivy - 攝像頭
- Kivy - 樹形檢視
- Kivy - reStructuredText
- Kivy - 操作欄
- Kivy - 媒體播放器
- Kivy - 模板檢視
- Kivy - 虛擬鍵盤
- Kivy - 觸控漣漪
- Kivy - 音訊
- Kivy - 影片
- Kivy - 拼寫檢查
- Kivy - 效果
- Kivy - 輸入錄製器
- Kivy - OpenGL
- Kivy - 文字
- Kivy - 文字標記
- Kivy - 設定
- Kivy 佈局
- Kivy - 佈局
- Kivy - 浮動佈局
- Kivy - 網格佈局
- Kivy - 箱式佈局
- Kivy - 堆疊佈局
- Kivy - 錨點佈局
- Kivy - 相對佈局
- Kivy - 頁面佈局
- Kivy - 回收佈局
- Kivy - 佈局巢狀
- Kivy 高階概念
- Kivy - 配置物件
- Kivy - 圖集
- Kivy - 資料載入器
- Kivy - 快取管理器
- Kivy - 控制檯
- Kivy - 動畫
- Kivy - 多筆畫
- Kivy - 時鐘
- Kivy - SVG
- Kivy - UrlRequest
- Kivy - 剪貼簿
- Kivy - 工廠
- Kivy - 手勢
- Kivy - 語言
- Kivy - 圖形
- Kivy - 繪製
- Kivy - 打包
- Kivy - Garden
- Kivy - 儲存
- Kivy - 向量
- Kivy - 工具函式
- Kivy - 檢查器
- Kivy - 工具
- Kivy - 日誌記錄器
- Kivy - 幀緩衝區
- Kivy 應用和專案
- Kivy - 繪圖應用
- Kivy - 計算器應用
- Kivy - 計時器應用
- Kivy - 攝像頭處理
- Kivy - 圖片檢視器
- Kivy - 貝塞爾曲線
- Kivy - 畫布壓力測試
- Kivy - 圓形繪製
- Kivy - 控制元件動畫
- Kivy - 其他
- Kivy 有用資源
- Kivy - 快速指南
- Kivy - 有用資源
- Kivy - 討論
Kivy - 按鈕
按鈕是任何 GUI 庫(包括 Kivy)中最重要的元素之一。按鈕物件包含一個標籤,通常用於指示其用途(例如,一個帶有“開始”標題的按鈕,或一個帶有“資料夾”圖示指示“開啟檔案操作”的按鈕),並且能夠響應某些事件,例如觸控或滑鼠點選。
Button 類在 "kivy.uix.button" 模組中定義。Button 物件的外觀可以透過在 Label 類中定義的相同屬性集進行配置。Button 類也繼承自 ButtonBehavior 混合類。
Button 物件使用以下語法例項化:
b1 = Button(**kwargs)
要配置按鈕,您可以將屬性指定為建構函式的關鍵字引數:
background_color - 按鈕的背景顏色,是一個 ColorProperty,格式為 (r, g, b, a),預設值為 [1,1,1,1]。
background_disabled_down - 按鈕的背景圖片,是一個 StringProperty,包含圖片檔案路徑的字串,用於按鈕停用且按下時的預設圖形表示。
background_disabled_normal - 按鈕的背景圖片,也是一個圖片路徑,用於按鈕停用且未按下時的預設圖形表示。
background_down - 按鈕的背景圖片,用於按鈕按下時的預設圖形表示。
background_normal - 按鈕的背景圖片,用於按鈕未按下時的預設圖形表示。
除了以上屬性外,Button 還繼承了 Label 類的屬性,其中一些如下:
bold - 指示使用字型的粗體版本。它是一個 BooleanProperty,預設為 False。
underline - 為文字新增下劃線。此功能需要 SDL2 文字提供程式,它是一個 BooleanProperty,預設為 False。
strikethrough - 為文字新增刪除線。此功能需要 SDL2 文字提供程式。它是一個 BooleanProperty,預設為 False。
text - 標籤的文字。例如:
widget = Button(text='Hello world')
text 是一個 StringProperty,預設為 ''。
color - 文字顏色,格式為 (r, g, b, a)。它是一個 ColorProperty,預設為 [1, 1, 1, 1]。
font_size - 文字的字型大小,以畫素為單位。"font_size" 是一個 NumericProperty,預設為 15sp。
Button 類還繼承了 ButtonBehavior 類的 state 屬性。
state - 按鈕的狀態,必須是 'normal' 或 'down' 之一。當按鈕當前被觸控/點選時,狀態為 'down',否則為 'normal'。它是一個 OptionProperty,預設為 'normal'。
Button 類還繼承了 Widget 類的屬性,例如 disabled, height, width 和 pos 等。
如果要在 Kivy 應用程式視窗上顯示一個 Button,則可以透過在 build() 方法中宣告一個 Button 物件,或使用 "kv" 語言指令碼。
使用 build() 方法顯示按鈕
讓我們使用上面解釋的一些屬性配置 Button:
示例
from kivy.app import App
from kivy.uix.button import Button
from kivy.config import Config
# Configuration
Config.set('graphics', 'width', '720')
Config.set('graphics', 'height', '300')
Config.set('graphics', 'resizable', '1')
class HelloApp(App):
def build(self):
b1 = Button(text = "A Kivy Button",
font_size=50,
color = [0.8, 0.2, 0.3, 1])
return b1
app = HelloApp()
app.run()
輸出
執行此程式碼,您將獲得以下輸出:
使用 "kv" 語言方法顯示按鈕
示例
將以下指令碼儲存為 "hello.kv"。
Button:
text: 'A Kivy Button'
font_size: '20pt'
underline: True
background_color: [1,0,0,1]
size_hint: (.25, .25)
pos_hint: {'center_x':.5, 'center_y':.5}
輸出
在 App 類中註釋掉 build() 方法,然後再次執行應用程式。您將獲得以下視窗作為輸出: