我有一个奇异的窗口,必须更改一个标签以显示读取数据集的进度。
当执行读取数据集时,我想在kivy窗口中以文本形式显示进度,但是kivy似乎首先完成了逻辑,然后更新了标签。这是我的代码:
运行kivy的功能:
class loadingView(App):
def build(self):
container = Container()
Clock.schedule_once(container.run, 1)
return container
这是一个包含运行逻辑的函数的类:
class Container(GridLayout, object):
procTxt = ObjectProperty()
procProgbar = ObjectProperty()
def run(self, *args):
self.procTxt.text = "Reading first dataset"
self.procProgbar.value += 10
# I read first dataset here
self.procTxt.text = "Reading second dataset"
self.procProgbar.value += 10
# I read second dataset here
self.procTxt.text = "Reading third dataset"
self.procProgbar.value += 10
# I read third dataset here
# Read dataset done
self.procTxt.text = "DONE"
但是当我运行代码时,出现了kivy窗口,延迟了一段时间,然后立即将Label更新为“ DONE”。
每个阅读进度都会暂停。但是标签似乎没有更新。无论何时,应用程序每次读取数据集时,都需要更新标签吗?