kivy的布局


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()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM