簡述
根據官方解釋:
Spinner is a widget that provides a quick way to select one value from a set. In the default state, a spinner shows its currently selected value. Touching the spinner displays a dropdown menu with all the other available values from which the user can select a new one.
意思是Spinner 是一個小部件,它提供了一種從一組值中選擇一個值的快速方法。 在默認狀態下,微調器顯示其當前選擇的值。 觸摸微調器會顯示一個下拉菜單,其中包含所有其他可用值,用戶可以從中選擇一個新值。
示意圖如下:
基本範例
首先在main.py中寫上起手式:
from kivy.app import App from kivy.uix.gridlayout import GridLayout class MyLayout(GridLayout): pass class Myapp(App): def build(self): return MyLayout() if __name__ == '__main__': Myapp().run()
在以上程式碼中,我讓MyLayout類繼承GridLayout類,使得在my.kv中的<MyLayout>:可以繼承GridLayout類的特性。
在my.kv中寫上此段程式碼:
<MyLayout>: rows: 2 size_hint: (None, None) size: (400, 300) pos_hint: {'center_x': .5, 'y': .2} #以上程式碼主要是為了更好呈現結果而調整GridLayout Spinner: values: 'Home', 'Work', 'Other', 'Custom' #此下拉式選單的選項 Label: text: 'abc'
執行結果如下:
Spinner使用技巧:
1.利用text屬性指定Spinner的標題,或者利用text_autoupdate屬性指定value中第一個值作為預設
程式碼如下:
<MyLayout>: rows: 2 size_hint: (None, None) size: (400, 300) pos_hint: {'center_x': .5, 'y': .2} Spinner: values: 'Home', 'Work', 'Other', 'Custom' text: 'type' #text_autoupdate: True Label: text: 'abc'
執行結果如下:
(注意!若同時使用text與text_autoupdate參數,則text_autoupdate會蓋過text。)
2.利用sync_height參數來將每一個選項的單元格調整至與Spinner相同
程式碼如下:
<MyLayout>: rows: 2 size_hint: (None, None) size: (400, 300) pos_hint: {'center_x': .5, 'y': .2} Spinner: values: 'Home', 'Work', 'Other', 'Custom' sync_height: True Label: text: 'abc'
執行結果如下:
沒有留言:
張貼留言