Python Kivy:正确启动更新GUI元素的后台进程

2024-05-13 20:22:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Python脚本,它对用户的文件执行一些密集的处理,可能需要一些时间。我使用Kivy为它构建了一个用户界面,允许用户选择文件、处理模式,并在处理过程中向他们显示一些消息。

我的问题是,当主Kivy循环通过调用底层用户界面时,窗口冻结。

根据我的理解,解决这个问题的正确方法是创建一个单独的进程,脚本将从该进程卸载并将更新发送到用户界面。

但是,我找不到一个如何执行此操作的示例,也找不到关于如何将消息从单独的线程发送回应用程序的任何规范。

有人能给我举个例子说明如何正确地做到这一点吗?或者让我看看与这个主题相关的文档?

更新:

为了保持程序的可维护性,我希望避免从主线程调用处理器循环的元素,而是调用一个返回到GUI的更新元素(如进度条或文本字段)的长进程。看起来这些元素只能从主kivy线程进行修改。我怎样才能从外面接近他们?


Tags: 文件方法用户脚本消息元素进程时间