前言
在测试利用python调用AI模型API生成图像的程序时候,发现AI模型生成图像有一定的时间,此时UI界面会卡顿,就想到利用多线程来处理,然后就发现多线程之间的数据传递问题,在网络上搜索了相关资料后,一番折腾总算搞清楚了,于是本文作为一个记录,主要是为了以后遇到同样的问题,可以方便参考,当然,如果你有同样的需求,也可以参考本文。
实际需求:最近在使用智谱AI的图像大模型,集成到python中,使用PyQt5作为UI界面,然后就遇到了线程间数据传递的问题。
示例:在主界面添加两个按钮、一个文本框,两个按钮分别表示更新开始和更新复位,文本框实时更新进度值,进度值是利用循环来模拟。
不使用线程
先来看一下不使用子线程的示例:
代码:
import sys
import threading
import time
from PyQt5