基本上有两种方式。区别在于谁是“主要”程序。如果您希望 gtk 负责,您只需创建对话框,并设置空闲时使用的回调 ( gobject.idle_add
)。这项工作应确保每一步都不会花费很长时间,因此 gtk 可以更新 gui(您可能需要gobject.timeout_add
微调器)。
另一种方式是您的“背景”工作处于控制之中。它可以做它想做的事,它应该时不时地调用 gtk ( while gtk.events_pending (): gtk.main_iteration (False)
) 以确保 gtk 可以更新 gui。