开始停止while循环?

开始停止while循环?,第1张

开始/停止while循环?

基本思想是拥有一个处理单个文件函数,然后使用事件循环重复调用该函数,直到没有更多文件要处理为止。您可以使用

after
命令执行此 *** 作。

在函数内部,您还可以检查全局标志。如果设置了该标志,则该功能不起作用,也不安排要完成的任何工作。使用暂停按钮按钮设置标志。设置完毕后,只需调用一次函数,它将继续运行,直到处理完所有文件。

例如:

def do_one_file():    global files_to_process, paused    if not paused:        file = files_to_process.pop() ... do some work here ...    if len(files_to_process) > 0:        root.after(10, do_one_file)

这将检查您是否已暂停工作。如果没有,它将从文件堆栈中拉出一个文件进行处理。然后,如果还有更多工作要做,它将安排在10毫秒内处理下一个文件。

假设实际工作仅花费几百毫秒,您的GUI将保持响应状态,并且复制在“后台”进行。我将其用引号引起来,因为它们全部发生在主线程上,而不是在后台线程或进程上,但是它发生在GUI不执行其他 *** 作的那一刻(这实际上是大多数时间)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5667672.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存