我想使用 QMessageBox 向用户宣布一个短暂的等待间隔。
QMessageBox* box(new QMessageBox(QMessageBox::Information,"Parser","Processing " + mFileName));
box->setStandardButtons(QMessageBox::NoButton);
box->setWindowModality(Qt::WindowModal);
box->show();
QApplication::processEvents();
parser.analyseFile(mFileName);
box->hide();
box->deleteLater();
QApplication::processEvents();
该功能只需几秒钟。该框被显示,但在函数完成之前,图标和文本都没有及时显示。为什么QApplication::processEvents();
在框完全显示之前不阻止程序继续运行。是否有可能在不求助于线程的情况下实现所需的行为。