from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
"""
創建一個label來接收button點擊之后的結果
總布局:vertical 也就是一行一行的
這里一共三行
第一行是label,顯示button點擊之后的結果
第二行是一個layout,然后這個layout又進行了豎排的拆分,左邊子元素是input,右邊是button,button點擊之后就是獲取左邊子元素的text內容
第三行一樣
"""
# class TestApp(kivy.app.App):
# def build(self):
# return Label(text="Hello ")
class TestApp(App):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.press_count = 1
self.my_text = "Data inside TextInput"
def button1_press(self, button_pressed):
self.text_label.text = self.text_input1.text
def button2_press(self, button_pressed):
self.text_label.text = self.text_input2.text
def build(self):
self.text_label = Label(text="waiting for button press")
self.text_input1 = TextInput(text="TextInput 1")
my_button1 = Button(text="Click me")
my_button1.bind(on_press=self.button1_press)
self.text_input2 = TextInput(text="TextInput 2")
my_button2 = Button(text="Click me")
my_button2.bind(on_press=self.button2_press)
box_layout = BoxLayout(orientation="vertical") # 豎直方向
box_layout1 = BoxLayout(orientation="horizontal") # 水平方向的
box_layout1.add_widget(widget=self.text_input1)
box_layout1.add_widget(widget=my_button1)
box_layout2 = BoxLayout(orientation="horizontal")
box_layout2.add_widget(widget=self.text_input2)
box_layout2.add_widget(widget=my_button2)
box_layout.add_widget(self.text_label)
box_layout.add_widget(box_layout1)
box_layout.add_widget(box_layout2)
return box_layout
app = TestApp(title="Hello")
app.run()
