บทนำ
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)