各位开发者!我有一个关于 Qt 和多线程的问题。
=== 简短版本 =============================================
Qt 可以做我想做的事吗?即(1)显示一个加载器;(2)在后台下载gif;(3) 下载后在主窗口中显示下载的gif?
===长版==============================================
我有一个想法,当我按下按钮时,它:
显示装载机;
激活一个从网络下载 gif 的线程;
用下载的 gif 替换主窗口中隐藏的默认 gif 并显示它
隐藏装载机;
我遇到的问题是,当显示下载的 gif 时,它被“冻结”或仅显示第一帧。除此之外一切都很好。然而,它需要在隐藏加载器后将 gif 动画化。
这里提到的是
所以Qt事件循环负责执行你的代码以响应程序中发生的各种事情,但是当它执行你的代码时,它不能做任何其他事情。
我相信这是问题的核心。还建议
建议在 Qt 中使用 QThread 而不是 Python 线程,但如果您不需要从函数与主线程通信,则 Python 线程可以正常工作。
由于我的线程替换了默认 gif 的内容,我相信它确实进行了通信:(
哆啦的时光机
繁华开满天机
相关分类