插槽功能正在运行时显示"请稍候..."框

iTa*_*ayb 6 qt qt4

我的GUI中有一个插槽功能需要一些时间才能完成(10-15秒).我想灰色布局并显示一个"请等待......"的框,当插槽功能完成时它将消失.

我需要它是异步的,因为我想QProgressBar在"请稍候..."窗口中使用一个小部件.

如何才能做到这一点?

jdi*_*jdi 10

您的长时间运行插槽应该在QThread中运行,而您的"请稍候..."小部件应该在主GUI线程中是模态的.

您可以使用QProgressDialog,也可以选择适合您的显示需求的窗口标志,或自定义小部件.但是长时间运行的操作应该在模态阻塞对话框完成后发出信号,从而导致对话框隐藏.