Kivy-如何在标签中添加多个标签或按钮

问题描述 投票:0回答:1

我有此代码,我想在第二列上添加多个按钮,而不是唯一的“保存”按钮,但是仅保留一个标签“ TEST”,我在网上搜索但没有找到任何东西

我不使用.kv文件,所有内容都在一个文件中。

import kivy    
from kivy.app import App    
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
from kivy.uix.screenmanager import ScreenManager, Screen
import os

class ConnectPage(GridLayout):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self.cols = 2

        self.add_widget(Label(text="TEST"))
        self.save = Button(text="Save")
        self.add_widget(self.save)    



class Epicapp(App):
    def build(self):
        self.screen_manager = ScreenManager()

        self.connect_page = ConnectPage()
        screen = Screen(name="Connect")
        screen.add_widget(self.connect_page)
        self.screen_manager.add_widget(screen)

        return self.screen_manager



if __name__ == "__main__":
    chat_app = Epicapp()
    chat_app.run()
python layout label kivy
1个回答
0
投票

您需要在右侧创建一个BoxLayout,方向为“垂直”,并在其上添加按钮。然后,将BoxLayout添加到根类中

这是它的代码:

from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.screenmanager import ScreenManager, Screen
import os

class ConnectPage(GridLayout):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self.cols = 2

        self.add_widget(Label(text="TEST"))
        self.mybox = BoxLayout(orientation='vertical')
        self.button1 = Button(text="Load")
        self.button2 = Button(text="Cancel")
        self.save = Button(text="Save")
        self.mybox.add_widget(self.button1)
        self.mybox.add_widget(self.button2)
        self.mybox.add_widget(self.save)
        self.add_widget(self.mybox)



class Epicapp(App):
    def build(self):
        self.screen_manager = ScreenManager()

        self.connect_page = ConnectPage()
        screen = Screen(name="Connect")
        screen.add_widget(self.connect_page)
        self.screen_manager.add_widget(screen)

        return self.screen_manager



if __name__ == "__main__":
    chat_app = Epicapp()
    chat_app.run()
© www.soinside.com 2019 - 2024. All rights reserved.