python - 在 Kivy 中将滚动条添加到 Boxlayout

标签 python kivy

我正在尝试在 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/

相关文章:

python - Pubnub channel 是什么以及如何将数据推送到 pubnub?

python - TensorFlow while_loop() 的非确定性行为

python - Kivy - 动态改 rebase 本小部件属性

python - 通过Kivy Button调用不同类中的函数

android - Kivy - 更改 FileChooser 默认位置

python - Kivy 应用程序可以在 Windows 7 上运行,但不能在 ubuntu 上运行

python - 如何同时为 ROS 环境变量提供两个路径?

python - Pandas 按行组应用卷积

python - 如何使用 Selenium Webdriver 单击列表中的第一个链接

python - 未安装 SDK 管理器