小白初学kivy,教程中有关于 GridLayout 方面的内容,可以完成两行排列布局,但是已到第三行就会出现异常,已经弄了两天了还没整明白。
哪位大佬帮忙看看代码需要如何进行修改:
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
from kivy.uix.label import Label
# from kivy.core.window import Window
class HomeScreen(GridLayout):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.cols = 1
self.rows = 3
# 第一行合并为一列
self.add_widget(Label(text='My World', font_size=50, height=100, size_hint_y=None))
# 第二行 分开为 2 列
self.layout_1 = GridLayout(cols=2)
self.layout_1.add_widget(Button(text='Hello 1', height=220, size_hint_y=None))
self.layout_1.add_widget(Button(text='World 1'))
# 第三行
self.layout_1.add_widget(Button(text='Hello 2', height=220, size_hint_y=None))
self.layout_1.add_widget(Button(text='World 2'))
self.add_widget(self.layout_1)
# 第四行 分开为 3列
self.layout_2 = GridLayout(cols=3)
self.layout_2.add_widget(Button(text='hello', height=50, size_hint_y=None))
self.layout_2.add_widget(Button(text='world', height=50, size_hint_y=None))
self.layout_2.add_widget(Button(text='hell', height=50, size_hint_y=None))
self.add_widget(self.layout_2)
class TextApp(App):
def build(self):
return HomeScreen()
if __name__ == '__main__':
TextApp().run()
以上代码实现的效果如下,我需要把第三行移动到最下边: