我想在我的kivy应用程序上使用一个固定宽度的右侧边栏,并带有一个按钮列表和一个用于绘制内容的主区域,我不确定哪种方法正确(即哪种布局),这就是我的位置远:

layoutApp.py ...

from kivy.app import App

class layoutApp(App):
    pass

if __name__ == '__main__':
    layoutApp().run()


和layoutApp.kv ...

BoxLayout:
    orientation: 'vertical'
    BoxLayout:
        Button:
            size_hint_x: 2
        BoxLayout:
            orientation: 'vertical'
            size_hint_x: 0.5
            Button:
            Button:
            Button:
            Button:


产生:

python - Kivy侧边栏以及内容布局-LMLPHP

问题是尺寸是相对的,即右侧边栏的宽度会根据屏幕抓取/调整大小而改变,这不是预期的行为。

谢谢 !

最佳答案

您可以设置侧边栏的宽度,然后通过使用ids来设置较大的按钮宽度:

BoxLayout:
    id: top_box
    orientation: 'vertical'
    BoxLayout:
        Button:
            size_hint_x: None
            width: top_box.width - bottom_box.width
        BoxLayout:
            id: bottom_box
            orientation: 'vertical'
            size_hint_x: None
            width: 150
            Button:
            Button:
            Button:
            Button:

关于python - Kivy侧边栏以及内容布局,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54855806/

10-12 20:41