Kivy:为啥 ScrollView 不能在 GridLayout 中工作?

Posted

技术标签:

【中文标题】Kivy:为啥 ScrollView 不能在 GridLayout 中工作?【英文标题】:Kivy: Why isn't ScrollView working inside GridLayout?Kivy:为什么 ScrollView 不能在 GridLayout 中工作? 【发布时间】:2019-06-01 23:16:06 【问题描述】:

我在 ScrollView 中有一个 GridLayout,但由于某种原因,我无法滚动 GridLayout。我最初使用 BoxLayout,但从另一个答案中看到使用 GridLayout 更好。

kv:

<ScreenTwo>
    id: screen_two
    name: "two"
    on_leave: app.restart()
    on_enter: app.display_btn()

    GridLayout:
        cols: 2
        rows: 1
        ScrollView:
            do_scroll_x: False
            do_scroll_y: True
            GridLayout:
                cols: 1
                id: streak_zone
                height: self.minimum_height
...

【问题讨论】:

看看 [kivy.org/doc/stable/…. 【参考方案1】:

网格布局

您需要添加以下内容,以便在添加的小部件/按钮超过ScrollView的高度时滚动。

添加size_hint_y: None 添加row_force_default: True 添加row_default_height: 40

片段 - kv 文件

    ScrollView:
        do_scroll_x: False
        do_scroll_y: True

        GridLayout:
            cols: 1
            id: streak_zone
            size_hint_y: None
            height: self.minimum_height
            row_force_default: True
            row_default_height: 40    # Change the height to fit your specs

【讨论】:

以上是关于Kivy:为啥 ScrollView 不能在 GridLayout 中工作?的主要内容,如果未能解决你的问题,请参考以下文章

ScrollView 中的 Kivy StackLayout

为啥我不能在 main.py 中使用 kivy 添加图像?

为啥不能从 Kivy 终止这个 Python 多处理进程?

如何在 Python/Kivy 中实现 ScrollView

Kivy ScrollView - 不滚动

Kivy - 创建一个可扩展的 ScrollView