2023年8月19日 星期六

Kivy UIX篇 widget篇 CheckBox類 attribute篇 講解

簡述

根據官方解釋:

CheckBox is a specific two-state button that can be either checked or unchecked. If the CheckBox is in a Group, it becomes a Radio button. As with the ToggleButton, only one Radio button at a time can be selected when the CheckBox.group is set.

意思是CheckBox 是一個有兩種狀態的按鈕,可以選取或取消選取。 如果復選框被加入群組中,會變成單選框。

示意圖如下:

基本範例

首先在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

    CheckBox:

執行結果如下:

CheckBox使用技巧:

1.改變勾勾的顏色

程式碼如下:

<MyLayout>:

    rows: 2

    CheckBox:
        color: [.112, .358, .132]

執行結果如下:

2.若想從複選改為單選,可以在CheckBox裡面加入group,此時同一個group中只能有一個選項被選取。

程式碼如下:

<MyLayout>:

    rows: 2

    CheckBox:
        color: .21, .42, .56
        group: 'one'

    CheckBox:
        color: .21, .42, .56
        group: 'one'

    CheckBox:
        color: .21, .42, .56
        group: 'one'

執行結果如下:

3.active屬性可以決定CheckBox是否被選取

程式碼如下:

<MyLayout>:

    rows: 2

    CheckBox:
        active: True

執行結果如下:

可以發現一執行時CheckBox就已經被選取。

沒有留言:

張貼留言

精選文章

Kivy UIX篇 widget篇 TabbedPanel類 event篇 講解