使用在线API时,Tkinter没有响应。

问题描述 投票:0回答:1

我正在用Python制作一个桌面应用程序,使用Tkinter作为我的gui界面。我遇到了一个问题,当我在执行 Astrometry.net API 而在这一点上,我使用的是他们的 客户端.py. 当我的框架加载完毕后,它有一个名为 "status_label "的Label,客户端文件中的函数按如下顺序执行 "Login=>myjobs=>upload".现在当我的代码与API交互时,我的gui界面出现了Not responding。为了检查这个问题,我甚至使用了 status_label 来显示正在执行的函数,在函数被调用之前,将 status_label 的文本改为当前正在执行的函数名称。但最后标签还是没有更新,同时在与在线API交互时,整个gui都是Not-Responding。

如何避免这个问题,并在标签中获取函数名?

python-3.x user-interface tkinter
1个回答
0
投票

这可能是因为Astrometry.net API与Tkinter共享一个线程,你应该为GUI(Tkinter)和Astrometry.net API设置一个不同的线程,这样当你的代码使用API时,Tkinter窗口会有响应。多线程.

© www.soinside.com 2019 - 2024. All rights reserved.