Вы должны просто вставить GridLayout
внутри вертикально ориентированного BoxLayout
и использовать size_hint
, чтобы выбрать, сколько места должно занимать виджеты. Например, size_hint: 1, 0.25
результаты с виджетами, которые занимают все свободное пространство по горизонтали и 1/4 свободного пространства по вертикали. Результат:
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import BooleanProperty
from kivy.lang import Builder
Builder.load_string('''
<MyWidget>:
orientation: 'vertical'
Label:
size_hint: 1, 0.25
text: 'Label1'
GridLayout:
size_hint: 1, 0.25
cols: 2
Button
text: 'Button1'
Button
text: 'Button2'
Button
text: 'Button3'
Button
text: 'Button4'
Label:
size_hint: 1, 0.5
text: 'Label2'
''')
class MyWidget(BoxLayout):
pass
class MyApp(App):
def build(self):
return MyWidget()
if __name__ == '__main__':
MyApp().run()
Вы можете предоставить более подробную информацию или еще лучше код, который вы написали? – Totem