【问题标题】:Usage of kivy layoutskivy 布局的使用
【发布时间】:2021-09-25 20:28:09
【问题描述】:

我正在使用 kivy 为我的程序构建 GUI。在我的 kv 文件中,我希望第一个框布局的内容出现在右上角,第二个框布局的内容出现在左上角。 下面是我的kv文件。 这不符合预期。请帮忙

<AnchorLayout>:
    anchor_x: 'right'
    anchor_y: 'top'

    BoxLayout:
        orientation: 'horizontal'

        Button:
            text: 'Dashboard'
            size_hint: None, None
            size: 80, 40
        Button:
            text: 'Task'
            size_hint: None, None
            size: 80, 40
        Button:
            text: 'Work'
            size_hint: None, None
            size: 80, 40

    BoxLayout:
        orientation: 'horizontal'

        Label:
            text: 'Logo'
        Label:
            text: 'MU'

【问题讨论】:

    标签: python user-interface kivy


    【解决方案1】:

    问题在于记录不充分的AnchorLayout 仅适用于单个孩子。在您的情况下,您的两个BoxLayouts 都位于AnchorLayout 的right、top。但是BoxLayouts都有(1,1)的默认size_hint,所以它们都填充了AnchorLayout,而righttop锚点无效。

    您可以使用FloatLayout 代替AnchorLayout,使用size_hint 和pos_hint 来获得您想要的结果:

    <FloatLayout>:
    
        BoxLayout:
            orientation: 'horizontal'
            pos_hint: {'right':1, 'top':1}
            size_hint: None, None
            size: self.minimum_size
    
            Button:
                text: 'Dashboard'
                size_hint: None, None
                size: 80, 40
            Button:
                text: 'Task'
                size_hint: None, None
                size: 80, 40
            Button:
                text: 'Work'
                size_hint: None, None
                size: 80, 40
    
        BoxLayout:
            orientation: 'horizontal'
            pos_hint: {'x':0, 'top':1}
            size_hint: None, None
            size: self.minimum_size
    
            Label:
                text: 'Logo'
                size_hint: None, None
                size: 80, 40
            Label:
                text: 'MU'
                size_hint: None, None
                size: 80, 40
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-13
      • 2020-12-02
      相关资源
      最近更新 更多