我的GUI中有一个插槽功能需要一些时间才能完成(10-15秒)。 我想灰色布局并显示一个"请等待......"当插槽功能完成时,它将消失。
我需要它是异步的,因为我想在&#34中使用QProgressBar
小部件;请稍候......"窗口。
如何做到这一点?
答案 0 :(得分:10)
您的长时间运行的插槽应该在QThread中运行,而您的“请稍候...”小部件应该在主GUI线程中是模态的。
您可以使用适合您的显示需求的QProgressDialog和choose a windowflag,也可以使用自定义小部件。但是长时间运行的操作应该在模态阻塞对话框完成时发出信号,导致对话框隐藏。