0

我尝试在某些进程启动之前使用 sleep 方法,只是为了让弹出窗口有时间出现:

    Processmethod()
{

    QDialog *ProcessMessage = new QDialog;      
    Ui::DialogProcessMessage Dialog;            
    Dialog.setupUi(ProcessMessage);             
    ProcessMessage->setModal(true);
    ProcessMessage->setAttribute(Qt::WA_DeleteOnClose); 
    ProcessMessage->show();

    sleep(500);

    PROCESSES START                     
}

我的问题是,弹出窗口只是在进程完成后出现,而不是在进程开始之前出现。如果我停用应该在窗口出现后启动的进程,弹出窗口工作正常。负责弹出窗口的进程是否失败?我的错在哪里?问候

4

2 回答 2

3

添加

qApp->processEvents();

在睡眠电话之前。

于 2012-03-21T11:54:22.857 回答
1

我假设sleep是 Windows 功能?不要使用它。用于QTimer稍后启动进程:

ProcessMessage->show();
QTimer::singleShot(500, processObject, SLOT(start()));
于 2012-03-21T12:25:12.660 回答