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
}
私の問題は、ポップアップウィンドウは、プロセスの開始前ではなく、プロセスの終了後に表示されることです。ウィンドウが表示された後に開始するプロセスを無効にすると、ポップアップウィンドウは正常に機能します。ポップアップウィンドウを担当するプロセスは失敗しますか?私の欠点はどこですか?挨拶
こんにちは、qApp-> processEvents();とはどういう意味ですか? - 私はQtの文書でそれを読むが、私はそれを得ていない。私はあなたの提案を試みましたが、プロセスが開始される前にウィンドウがポップアップしていますが、ダイアログテキストは表示されず、 'ProcessMessage-> setModal(true);'を設定してもGUIの上には残りません。 – Streight
qApp(http://qt-project.org/doc/qt-4.8/qapplication.html#qApp)は、QApplicationインスタンスへのグローバルポインタです。Qtによって提供されています。 processEvents()(http://qt-project.org/doc/qt-4.8/qcoreapplication.html#processEvents)は、メインループにエンキューされたすべてのイベントをペイントやGUIの更新を含めて「フラッシュ」するメソッドです。 – Masci
私は最初のコメントに書いたようにまだうまく動作しません。さらに、processEvents()メソッドは、私の目的ではないGUIのフリーズを防ぎます。凍っても問題ありません。ちょうどポップアップウィンドウが最初にポップアップするはずです。 – Streight