окно не всплывает перед запуском процесса -> попробовал sleep () метод, но "терпит неудачу" - PullRequest
0 голосов
/ 21 марта 2012

Я пытался использовать метод сна перед запуском некоторых процессов, чтобы дать всплывающему окну время появления:

    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                     
}

Моя проблема в том, что всплывающее окно появляется только после завершения процесса, а не до его начала. Если я деактивирую процесс, который должен начаться после появления окна, всплывающее окно работает нормально. Сбои процессов, ответственных за всплывающее окно? Где моя вина? привет

Ответы [ 2 ]

3 голосов
/ 21 марта 2012

Добавить

qApp->processEvents();

перед сном.

1 голос
/ 21 марта 2012

Я предполагаю, sleep функция Windows? Не используйте его. Используйте QTimer, чтобы начать процесс позже:

ProcessMessage->show();
QTimer::singleShot(500, processObject, SLOT(start()));
...