gpt4 book ai didi

python - 如何在 Kivy ScrollView 中滚动 GridLayout?

转载 作者:太空狗 更新时间:2023-10-30 00:31:59 24 4
gpt4 key购买 nike

目前这是我的不可滚动的 kv 代码:

BoxLayout:
id: bl
orientation: 'vertical'
padding: 10, 10
row_default_height: '48dp'
row_force_default: True
spacing: 10, 10

GridLayout:
id: layout_content
cols: 1
row_default_height: '20dp'
row_force_default: True
spacing: 0, 0
padding: 0, 0

Label:
text: 'You don''t have any downloads. Please add new download from Home screen'

如何使上面的 kv 代码可滚动?我知道 Kivy ScrollView 只接受一个 child ,我已经让 GridLayout 成为新 ScrollView 的 child 。但它不起作用。有什么建议吗?

最佳答案

根据documentation for ScrollView您必须至少禁用 ScrollView 的一个子 size_hint:

<Controller>:
layout_content: layout_content
BoxLayout:
id: bl
orientation: 'vertical'
padding: 10, 10
row_default_height: '48dp'
row_force_default: True
spacing: 10, 10
ScrollView:
size: self.size
GridLayout:
id: layout_content
size_hint_y: None
cols: 1
row_default_height: '20dp'
row_force_default: True
spacing: 0, 0
padding: 0, 0

Label:
text: "Lorem ipsum dolor sit amet"

并绑定(bind)布局的大小以适应自身:

# main.py

class Controller(FloatLayout):
layout_content=ObjectProperty(None)

def __init__(self, **kwargs):
super(Controller, self).__init__(**kwargs)
self.layout_content.bind(minimum_height=self.layout_content.setter('height'))

关于python - 如何在 Kivy ScrollView 中滚动 GridLayout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26686631/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com