我有这段代码,我想在第二列上添加多个按钮,而不是唯一的“保存”按钮,但是只保留了一个标签“ 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()
答案 0 :(得分: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()