0

我在 KV 中定义了一个关于 Kivy 的标签,如下所示:

Label:
    id: vol
    text: '[color=#3333ff]Volume: {0:8.2f}[/color]'
    markup: True
    size_hint_x: 0.2

每隔几秒钟,我就会用如下所示的代码更新它:

self.vol.text = self.vol.text.format(tick['volume'])

但是,文本不会在应用程序上更新,保持在我第一次设置的状态。

更改文本内容后重绘标签需要什么?

4

1 回答 1

1

一旦发生第一次替换,就没有替换字段可用于获取更新的值。相反,尝试这样的事情:

self.vol.text = '[color=#3333ff]Volume: {0:8.2f}[/color]'.format(tick['volume'])

如果需要,您可以子类Label化并添加自定义更新函数,以便有关格式化字符串的知识与标签一起存在,并且可以从不同的地方调用更新函数。

于 2016-07-03T21:06:07.270 回答