标签的Kivy ScrollView不会滚动

时间:2018-02-19 16:54:32

标签: python kivy kivy-language

我在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'

我已经阅读了Kivy docs on ScrollView,说我需要指定一个size_hints来启用滚动。我已经阅读了几篇关于让ScrollView工作的帖子:

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

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

有什么想法吗?

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

1 个答案:

答案 0 :(得分:2)

为了使var res = input.filter(function (o) { return o.RazaoSocial.includes("AAS") || o.Produtos && o.Produtos.find(function (p) { return p.DescricaoProduto === 'AAS'; })); console.log(JSON.stringify(res, null, 2)); 可滚动,它应该大于Label小部件,因此您需要将ScrollView设置为size_hint并将标签大小绑定到文本大小。例如:

<强> test.kv:

None

<强> main.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