簡體   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