繁体   English   中英

标签的 Kivy ScrollView 不会滚动

[英]Kivy ScrollView of Label won't scroll

我在 ScrollView 中有一个 Label,希望当(多行)文本占用太多行时,用户可以向上和向下滚动,当行太长时,用户可以向左和向右滚动。 我无法让它滚动。 这是我的 Builder 字符串的相关部分:

ScrollView:
    id: scrollLayout
    size_hint_y: 0.9
    Label:
        id: sortFilesDisplay
        size_hint_y: 0.9
        text: 'Drag\\n in\\n files\\n to\\n be\\n sorted\\n yea\\n go\\n now\\n testing\\n please\\n work\\n now\\help'

我已经阅读了ScrollView 上Kivy 文档,说我需要指定 size_hints 之一来启用滚动。 我已经阅读了一些关于让 ScrollView 工作的 SO 帖子:

但它们都涉及嵌入某种布局(例如GridLayout),但我没有嵌入布局,只是一个标签。 我已经尝试将 minimum_height 设置为我在这些帖子中看到的各种内容,但仍然没有效果。

这两个 size_hint_y 在那里只是为了按照指示去做; 我不需要它们。 还尝试将它们设置为无。

有任何想法吗?

此外,文本的静态字符串不是我最终想要的。 我希望标签在字符串更改时保持可滚动(当用户放入新的文件列表时),但我认为“动态”操作可能是一个问题,所以现在我“退回”尝试静态字符串。

为了使Label可滚动,它应该比ScrollView小部件大,因此您需要将size_hint设置为None并将标签大小绑定到文本大小。 例如:

测试.kv:

ScrollView:
    Label:
        id: sortFilesDisplay
        size_hint: None, None     # <<<<<<<<<<
        size: self.texture_size   # <<<<<<<<<<
        text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit,\n sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\n\n" * 20

主文件

from kivy.app import App
from kivy.config import Config
Config.set('graphics', 'width', '300')
Config.set('graphics', 'height', '200')


class TestApp(App):
    pass


if __name__ == '__main__':
    TestApp().run()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM