Python 可滚动标签赢得';卷轴
因此,正如标题所说,我的ScrollableLabel实际上不会滚动(尽管文本会显示)。我用Sentdex的代码作为指导如何做,我不知道我怎么搞砸了。抱歉,如果这是个愚蠢的问题Python 可滚动标签赢得';卷轴,python,python-3.x,kivy,Python,Python 3.x,Kivy,因此,正如标题所说,我的ScrollableLabel实际上不会滚动(尽管文本会显示)。我用Sentdex的代码作为指导如何做,我不知道我怎么搞砸了。抱歉,如果这是个愚蠢的问题 class ScrollableLabel(ScrollView): #http://github.com/kivy/kivy/wiki/Scrollable-Label & user sentdex on youtube text = StringProperty("") def
class ScrollableLabel(ScrollView): #http://github.com/kivy/kivy/wiki/Scrollable-Label & user sentdex on youtube
text = StringProperty("")
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.layout = GridLayout(cols=1, size_hint_y = None)
self.add_widget(self.layout)
self.content = Label(size_hint_y=None, markup=True)
self.scroll_to_point = Label()
self.layout.add_widget(self.content)
self.layout.add_widget(self.scroll_to_point)
def update_content(self, new_text):
self.content.text = new_text
self.layout.height = self.content.texture_size[1]
self.content.height = self.content.texture_size[1]
self.content.text_size = (self.content.width, None)
self.layout.height = self.content.texture_size[1]
self.content.height = self.content.texture_size[1]
self.scroll_to(self.scroll_to_point)
我打算尝试使用kivy语言,因为它看起来简单得多,但我更愿意这样做,因为其他一切都是这样的(这是一个学校项目)。感谢所有的帮助,如果答案明显或愚蠢,请道歉。好吧,ScrollView要求它里面的每个小部件都有“size\u hint\u y=None”,所以尝试将其添加到“self.scroll\u to\u point”中。可能您缺少一些绑定,即当纹理大小发生变化时,大小没有正确更新。很难说,因为这个例子不完整。也许从kv版本开始,然后尝试一点一点地将其移动到python,这样您就可以知道它何时中断,以帮助缩小问题的范围。