Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ใช้ Checkbox Widget ใน Kivy


บทนำ

CheckBox ใน Kivy ใช้สำหรับตัวเลือก On/Off มักใช้ร่วมกับ GridLayout จัดวาง Label และ Checkbox คู่กัน

ตัวอย่างโค้ดสมบูรณ์

import kivy
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.checkbox import CheckBox
from kivy.uix.gridlayout import GridLayout

class CheckBoxGrid(GridLayout):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self.cols = 2
        
        # แถว 1
        self.add_widget(Label(text='10 AM to 11 AM'))
        cb1 = CheckBox(active=True)
        self.add_widget(cb1)
        
        # แถว 2
        self.add_widget(Label(text='3 PM to 4 PM'))
        cb2 = CheckBox(active=False)
        self.add_widget(cb2)

class CheckBoxApp(App):
    def build(self):
        return CheckBoxGrid()

if __name__ == '__main__':
    CheckBoxApp().run()

คุณสมบัติสำคัญของ CheckBox

  • active: สถานะเริ่มต้น (True/False)
  • on_active: event เมื่อสถานะเปลี่ยน
  • color: สีของเครื่องหมายถูก
  • background_checkbox_normal/down: รูปภาพพื้นหลัง

การจับ Event

def on_checkbox_active(self, checkbox, value):
    if value:
        print("Checked")
    else:
        print("Unchecked")

cb.bind(active=on_checkbox_active)