2015-11-07 3 views
0

Я новичок в python и хочу иметь пользовательский интерфейс для моего маленького приложения. Я использую kivy как графический интерфейс. Мне интересно о макете.Как организовать компоновку киви?

enter image description here

Как я могу организовать свое расположение? Я попытался вставить boxlayout внутри gridlayout, но все равно попал в положение.

+0

Вы можете предоставить более подробную информацию или еще лучше код, который вы написали? – Totem

ответ

1

Вы должны просто вставить 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()