我有这个问题:
例如,创建了一个屏幕来显示在可能持续一分钟的同步事件期间出现的消息。差不多每两秒钟就会有一条信息
我的意思是,当收到信息时,信息会立即打印出来
但这段代码的结果是,当整个syncronizarion结束时,所有消息都会立即打印出来,而不是像预期的那样在每条消息出现时打印出来
.py:
class SyncScreen(Screen):
content = StringProperty()
def on_enter(self):
self.content = "Synchronization messages"
controller.synchronize(self.update_text)
def update_text(self, msg): # Callback
self.content = self.content + msg
.kv:
<SyncScreen>:
MDBoxLayout:
orientation: "vertical"
MDToolbar:
title: "Synchronization"
MDBoxLayout:
orientation: "vertical"
padding: 10
TextInput:
text: root.content
size_hint: 1.0, 1.0
multiline: True
您的
synchronize
函数被阻塞,Kivy在返回之前无法绘制任何内容。在线程中运行它,或者执行类似于让它每帧返回(并重新安排)的操作相关问题 更多 >
编程相关推荐