0

我有一个使用 Tkinter 的 Python GUI。我必须通过 SSH 连接到另一个地方才能获取数据。我启动了一个新线程来执行此操作,以便 GUI 不会挂起。在此期间,我想弹出一个屏幕,让用户知道它正在加载。程序完成获取数据后,我想关闭加载屏幕。我必须做什么才能让我的主循环识别线程已完成?我尝试使用该线程关闭主循环中存在的加载屏幕,但后来我发现这不起作用。

我见过一些不使用 GUI 的生产者消费者模型,它们有 while 循环。但这对我没有帮助。我也不想下载和安装其他包,但是导入是可以的。感谢您的帮助!

4

1 回答 1

0

完成后让您的线程设置一个标志。让 GUI 定期检查该标志并在设置时关闭窗口。

您可以通过创建一个检查标志的函数来检查标志,如果没有设置它,它after会在几百毫秒后再次运行。线程退出后,窗口不会立即消失,但只要延迟不超过几百毫秒,用户就永远不会注意到。

于 2011-07-20T18:06:35.783 回答