Kivy cho phép tạo giao diện đa điểm chạm. Bài viết demo BoxLayout để tạo các nút (Button) với hướng (orientation) và màu sắc khác nhau.
Tạo box ngoài orientation vertical. Hàng 1 (Row1) orientation horizontal. Hai hàng khác orientation vertical. Gộp vào box ngoài, gán text và background_color cho các Button.
Ví dụ
import kivy
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
class BoxLayoutApp(App):
def build(self):
# Box ngoài dọc
outerBox = BoxLayout(orientation='vertical')
# Hàng 1 ngang
Row1 = BoxLayout(orientation='horizontal')
btn1 = Button(text="One", background_normal='', background_color=(1, 0, 1, 1), font_size=25, size_hint=(0.7, 1))
btn2 = Button(text="Two", background_normal='', background_color=(1, 1, 0, 0.8), font_size=25, size_hint=(0.7, 1))
Row1.add_widget(btn1)
Row1.add_widget(btn2)
# Hàng 2, 3 dọc
Row_2_3 = BoxLayout(orientation='vertical')
btn3 = Button(text="Three", background_normal='', background_color=(1,0,0,0.75), font_size=25, size_hint=(1, 10))
btn4 = Button(text="Four", background_normal='', background_color=(0,1,0,0.75), font_size=25, size_hint=(1, 15))
Row_2_3.add_widget(btn3)
Row_2_3.add_widget(btn4)
# Gộp vào outerBox
outerBox.add_widget(Row1)
outerBox.add_widget(Row_2_3)
return outerBox
if __name__ == '__main__':
BoxLayoutApp().run()
Kết quả:
Đầu ra
