繁体   English   中英

在Kivy中强制更新GUI

[英]Force update GUI in kivy

我正在用Kivy编写一个应用程序,该应用程序在启动时会进行大量的CPU计算。 我希望该应用程序显示当前进度以及进度,但是,由于尚未到达主循环,因此它只显示空白屏幕,直到完成工作为止。 我可以强迫kivy更新界面吗?

基本上我在寻找kivy相当于Tkinter的root.update()

我可以通过定义一系列函数来创建一种变通方法,每个函数通过Clock.schedule_once(nextFunction, 1)调用下一个函数, Clock.schedule_once(nextFunction, 1)草率了。

提前致谢。

撇开您是否应该使用线程还是使用某种东西(也许应该使用)的问题,答案只是您应该将cpu计算移至其他地方。 首先显示一些简单的内容(例如,从您的build方法返回一个简单的小部件),然后再进行计算,例如通过对它们进行时钟调度。

在这种情况下,您的计算仍会阻止gui。 您可以通过在线程中进行操作或将它们手动分解为可以按计划调度的小块来解决。

可以通过手动调用Clock.tick()类的Clock.tick()来更新gui,但是我不确定这是否可以正常工作,即使这样也无法在图形初始化之前显示它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM