我正在尝试使用Kivy中的ScrollBar进行Boxlayout,但无法执行。 .kv文件的下方摘录。一旦Boxlayout溢出控件被隐藏并且没有滚动条,我将向Boxlayout动态添加控件。请指教。

<ProcessorUI>: #GridLayout
    cols: 1
    rows: 3
    Label:
        text: 'Output'
        size_hint_x: None
        width: 100
        size_hint_y: None
        height: 20
    ScrollView:
        size_hint: (None, None)
        size: (400, 400)
        BoxLayout:
            id: output
            orientation: 'vertical'
    GridLayout
        cols: 2
        TextInput:
            id: input
            multiline: True
            size_hint_y: None
            height: 40
        Button:
            id: btn_process
            text: 'Process'
            size_hint_x: None
            width: 100
            size_hint_y: None
            height: 40
            on_press: root.on_event()

最佳答案

ScrollView:
        size_hint: (None, None)
        size: (400, 400)
        BoxLayout:
            id: output
            orientation: 'vertical'


BoxLayout没有手动设置的高度,因此它始终精确地填充Scrollview,并且永远不需要滚动条。

您实际上可能想要以下内容

ScrollView:
        size_hint: (None, None)
        size: (400, 400)
        GridLayout:
            id: output
            cols: 1
            size_hint_y: None
            height: self.minimum_height


最后两行设置了网格布局高度,以跟踪其子代的高度之和。您还可以将高度设置为其他任何值。

关于python - 将滚动条添加到Kivy中的Boxlayout中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27699053/

10-11 00:42