我做了QWizard與QT 4.8.5在一些網頁我不得不關閉一些其他應用程序和退出我的程序。這工作正常,但現在我想顯示一個彈出消息,告訴用戶程序正在重新啓動(其他人是我的一部分,我的是最後一個總是要關閉的)。我用它來顯示彈出式菜單中的代碼是下一個,我把它放在一個QWizardpage的validatepage:的Qt 4.8.5瞭解QMessageBox提示.exec()和.show()
QMessageBox *msgBox1 = new QMessageBox;
msgBox1->setWindowTitle("Title...");
msgBox1->setIcon(QMessageBox::Information);
msgBox1->setText(" blablablalbal bla bla bla.");
msgBox1->setWindowModality(Qt::NonModal);
msgBox1->show();
QCoreApplication::processEvents(); // without this line, the show does nothing and I can't see my pop up window
所以事情是:與該代碼,當我在wizardpage並單擊完成,它在程序重啓其他應用程序的同時(後面)啓動QMessageBox,然後關閉自身(使用QApplication :: quit();),這正是我想要的......但是沒有消息顯示在彈出窗口中。 ..我看不到圖標,標題或文本...:SI不知道爲什麼:(
而當使用 - > EXEC();而不是表演,圖標,標題和正文顯示出來,但當彈出窗口出現時,在用戶關閉彈出窗口之前不會做任何事情......:S
我明白.exec()凍結所有,直到用戶關閉彈出而顯示不...
所以...我怎麼能看到與節目()行爲的文本?我不希望用戶與彈出交互,我只需要彈出展現出來,同時關閉所有,直到我的程序關閉太...
太謝謝你了!
註釋的最後一行說,'顯示()'調用不做什麼沒有這一點,但你的問題說,你看不到任何東西......你能澄清?這似乎是一個矛盾。 無論如何,有關半重複數據刪除:http://comments.gmane.org/gmane.comp.lib.qt.general/30706 – eclarkso
@eclarkso是的,對不起,也許我錯了wxplained ...如果我不使用processEvents行,那麼彈出窗口永遠不會顯示,就像我沒有創建該代碼一樣......如果我放置該行,我可以看到彈出窗口,但彈出窗口是空的。 。沒有消息,沒有標題沒有圖標顯示(並且它的初始化我覺得好像我改變了一個EXE的表演,然後我看到它應該(但是然後它等待有人關閉它,然後繼續)現在希望它更清晰:D – Megasa3