python - 强制更新 kivy 中的 GUI

标签 python kivy

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

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

我可以通过定义一系列函数来创建一个解决方法,每个函数都通过 Clock.schedule_once(nextFunction, 1) 调用下一个函数,但这会非常草率。

提前致谢。

最佳答案

抛开您是否应该使用线程或其他东西(您可能应该这样做)的问题,答案只是您应该将 cpu 计算移至其他地方。最初显示一些简单的内容(即从构建方法返回一个简单的小部件),然后进行计算,例如通过时钟调度它们。

在这种情况下,您的计算仍然会阻止 GUI。您可以通过在线程中执行它们或手动将它们分解成可以按顺序调度的小块来解决此问题。

也许可以通过手动调用像Clock.tick()这样的东西来更新GUI,但我不确定这是否能正常工作,即使这样也不会能够在图形初始化之前显示图形。

关于python - 强制更新 kivy 中的 GUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24529197/

相关文章:

python - Tkinter Notebook 中的可滚动页面

python - 如何合并不同长度的pandas数据框

python - Kivy 中的分屏?

python - 创建 OpenCV 视频小部件以在 Kivy 中使用

python - pandas 中每 n 行添加一行随机数

python - Python中下划线字符的类型

python - 与 uwsgi 和 websockets 紧密联系

python - 配置 Kivy > y 轴的反转输入

python - Kivy 使用 kv 文件中的 ScreenManager

python - 删除操作栏图标 Kivy