是否可以使Kivy应用程序窗口自动适应内部单个标签的大小?

时间:2018-11-01 19:04:43

标签: python label kivy

我有一个简单的Kivy应用,显示一条消息,通知我是否有任何新的漫画要下载。它运行在以下代码上:

def build(self):

Window.size = (300, 300)
self.title = 'Comics Notificator'
self.icon = 'assets/icon.png'
return Label(text=to_display)

我在想,是否有可能让主窗口自动适应标签内部的尺寸,而不是手动设置标签,因为我真的不知道要下载的漫画数量

谢谢!

1 个答案:

答案 0 :(得分:0)

texture_size属性是文本的大小,因此请与Window的大小绑定。在下面的示例中,我演示了当您向文本中添加更多字符时其大小如何调整。

from kivy.app import App
from kivy.uix.label import Label
from kivy.core.window import Window
from kivy.clock import Clock


class TestApp(App):
    def build(self):
        label = Label(text="Stack Overflow", font_size="40dp")
        label.bind(texture_size=Window.setter('size')) # <---
        Clock.schedule_interval(self.on_timeout, 1)
        return label

    def on_timeout(self, dt):
        self.root.text += " :-)" 


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