最近使用Qt写界面,发现在使用QProgressDialog会卡死,通过网上查阅和实验找到了两个原因:
1.在调用show以后进行了运算量很大的计算。
这个情况需要使用多线程进行处理,把界面程序放在主线程,运算的放在子线程,通过Qt的消息传递机制把结果返回主线程。
2.show以后很快就进行了hide
这个情况下使用msleep等待一下下就好了。
QProgressDialog卡死的两种情况
最新推荐文章于 2024-05-30 17:45:30 发布
最近使用Qt写界面,发现在使用QProgressDialog会卡死,通过网上查阅和实验找到了两个原因:
1.在调用show以后进行了运算量很大的计算。
这个情况需要使用多线程进行处理,把界面程序放在主线程,运算的放在子线程,通过Qt的消息传递机制把结果返回主线程。
2.show以后很快就进行了hide
这个情况下使用msleep等待一下下就好了。