У меня есть пользовательский интерфейс, разработанный на языке KV, следующим образом:
<MainLayout>:
BoxLayout:
orientation:"horizontal"
BoxLayout:
orientation:"vertical"
Button:
size_hint:(1,.9)
text:"1"
Button:
size_hint:(1,.1)
text:"2"
Вот сопровождающий py
файл:
from kivy import Config
from kivy.app import App, Builder
from kivy.uix.boxlayout import BoxLayout
with open('gui.kv', 'r') as kv:
Builder.load_string(kv.read())
class MainLayout(BoxLayout):
def __init__(self, **kwargs):
super(MainLayout, self).__init__(**kwargs)
class GuiApp(App):
Config.set('graphics', 'resizable', '0')
Config.set('graphics', 'width', '1600')
Config.set('graphics', 'height', '1000')
def build(self):
self.title = "TestGUI"
return MainLayout()
if __name__ == '__main__':
GuiApp().run()
Я хочу асимметричный макет, где главное окно имеет два столбца, а левый столбец имеет два виджета (верхняя и нижняя половины), а правый столбец аналогичен.
Каждый из виджетов в каждом столбце должен быть асимметричным по высоте.
По какой-то причине, приведенный выше дизайн продолжает «повторять» мою левую и правую половинки, нет «пустого» пространства.
Я хотел два BoxLayout
, по одному на каждый столбец. Мой <MainLayout>
тоже BoxLayout
. Я пытался сделать это GridLayout
с cols:2
, но я получаю аналогичные результаты.
Это мой вывод:
Так, tl; dr, левая колонка точно верна, но она повторяется и для правой половины. Как я могу это изменить?