更新文本属性时,旧Kivy标签不会消失

时间:2017-11-30 03:34:16

标签: python kivy

我正在编写一个时钟应用程序(最终将在Raspberry Pi上运行,但在Windows上开发),每当标签更新时,更改的字符都会在旧的上面绘制,但旧的不会消失。

看起来像这样。

这是我的代码:

main.py:

from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout
from kivy.clock import Clock
from kivy.properties import StringProperty

from kivy.config import Config

import time

class RPiClock(BoxLayout):
    timeString = StringProperty()
    def __init__(self, **kwargs):
        super(RPiClock, self).__init__(**kwargs)

    def update(self, *args):
        self.timeString = str(time.strftime("%I:%M:%S %p"))


class RPiClockApp(App):

    def build(self):
        Config.set('graphics', 'width', '800')
        Config.set('graphics', 'height', '480')
        appWindow = RPiClock()
        Clock.schedule_interval(appWindow.update, 1)
        return appWindow

if __name__ == "__main__":
    RPiClockApp().run()

RPiClock.kv:

<RPiClock>
  Label:
    id: TimeLabel
    text: root.timeString
    font_size: '50sp'

导致这些图形停留的原因是什么?

1 个答案:

答案 0 :(得分:0)

我有类似的问题,尝试在后台添加彩色画布 - 在您的情况下,我可能会使用填充您的布局的黑色矩形。它可以解决你的问题(它对我有用)。