2023年8月29日 星期二

Kivy UIX篇 widget篇 ToggleButton類 attribute篇 講解

簡述

根據官方解釋:

The ToggleButton widget acts like a checkbox. When you touch or click it, the state toggles between ‘normal’ and ‘down’ (as opposed to a Button that is only ‘down’ as long as it is pressed).

意思是ToggleButton的作用類似於復選框。當點擊它時,會在兩種狀態(‘normal’ and ‘down’)之間切換。

示意圖如下:

基本範例

首先在main.py中寫上起手式:

from kivy.app import App
from kivy.uix.gridlayout import GridLayout


#先讓MyLayout繼承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

    ToggleButton:
        text: 'A1'

    ToggleButton:
        text: 'B2'

    ToggleButton:
        text: 'C3'

執行結果如下:

Toggle button使用技巧:

1.加入group參數,使得同一group參數的Toggle button只有一個狀態可以為up

程式碼如下:

<MyLayout>:

    rows: 2

    ToggleButton:
        text: 'A1'
        group: 'group1'

    ToggleButton:
        text: 'B2'
        group: 'group1'
        #state: 'down'

    ToggleButton:
        text: 'C3'
        group: 'group1'

執行結果如下:

2.設定Toggle button的預設狀態

程式碼如下:

<MyLayout>:

    rows: 2

    ToggleButton:
        text: 'A1'
        group: 'group1'

    ToggleButton:
        text: 'B2'
        group: 'group1'
        state: 'down' #加入這一行,代表這個ToggleButton預設為down

    ToggleButton:
        text: 'C3'
        group: 'group1'

執行結果如下:


沒有留言:

張貼留言

精選文章

Kivy UIX篇 widget篇 TabbedPanel類 event篇 講解