
- 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 - 按鈕大小
Kivy 應用的使用者介面上的元件必須具有適當的大小。與位置屬性一樣,按鈕(任何元件)的大小屬性也受其所在佈局的控制。
按鈕大小可以透過兩個屬性“size”和“size_hint”來配置。“kivy.uix.button.Button”類從 Widget 類繼承了這些屬性。
按鈕的“size_hint”屬性是一個值元組,其父佈局使用它來確定大小。它定義的是相對於佈局大小的相對大小,而不是絕對大小。例如:
btn.size_hint = (w, h)
引數“w”和“h”都指定為0到1範圍內的浮點數。例如,0.5代表50%,1代表100%。
# This button has width and height of the parent layout btn.size_hint=(1,1) # Width of this button will be half of the container's width btn.size_hint=(0.5, 1) # This button will be of width and height 20% of the layout btn.size_hint=(.2,.2)
另一方面,“size”屬性以畫素為單位指定按鈕的絕對寬度和高度。
btn.size=(200,100)
但是,為了使按鈕具有絕對大小,必須要求 Kivy 佈局忽略大小提示。如果不想為寬度或高度使用 size_hint,則將其值設定為 None。換句話說,必須先設定“size_hint=(None, None)”才能以絕對測量單位分配大小。
還可以使用“size_hint_x”和“size_hint_y”屬性分別設定寬度或高度的大小提示。
假設想要建立一個寬度為 250 畫素,高度為父級高度 30% 的按鈕
btn.size_hint_x = None btn.size_hint_y= 0.3 widget.width = 250
這些屬性也可以在 Button 建構函式引數中設定:
btn = Button(text="Hi there!", size_hint=(None, 0.3), width=250)
示例
下面的程式將各種按鈕放置在應用視窗的 FloatLayout 中,並使用 size_hint、size、pos_hint 和 pos 屬性的不同組合:
from kivy.app import App from kivy.uix.floatlayout import FloatLayout from kivy.uix.button import Button from kivy.core.window import Window Window.size = (720,400) class DemoApp(App): def build(self): f = FloatLayout() b1 = Button(text="B1", size_hint=(None, None)) f.add_widget(b1) b2 = Button(text="B2", size_hint=(1, None), height=20) f.add_widget(b2) b3 = Button(text="B3", size_hint=(None, None), pos=(0, 100), size=(400, 100)) f.add_widget(b3) b4 = Button(text='B4', size_hint=(None,.3), width=50, pos_hint={'x':.6, 'y':.2} ) f.add_widget(b4) b5 = Button(text='B5', size_hint=(None,.9), width=50, pos_hint={'x':.5, 'y':.5} ) f.add_widget(b5) return f if __name__ == '__main__': DemoApp().run()
輸出
執行此程式碼後,將獲得以下輸出視窗:

廣告