2016-06-18 19 views
0

を示していません。QProgressDialogは、私はいくつかのものは私のQtアプリケーションで処理している間、メッセージとウィンドウを表示しようとしているので、私は<code>QProgressDialog</code>を使用することを決定したテキストラベル

しかし、私は問題を抱えている、テキストラベルが表示されていません。 QProgressDialog not showing the text label

マイコード:

QProgressDialog progressDialog(this); 
progressDialog.setWindowTitle("Cargando"); 
progressDialog.setLabelText("Cargando los datos del volumen, por favor espere"); 
progressDialog.setCancelButton(0); 
progressDialog.show(); 

// DOING SOME STUFF 

progressDialog.close(); 

を私はprogressDialog.exec()の代わりprogressDialog.show()を使用する場合は、テキストラベルがなく、表示される、ということを理解アプリケーションがブロックされます。

誰でもお手伝いできますか?

答えて

0

あなたのダイアログが何も表示されていない理由は、あなたが `SOME STUFFを行うための、おそらくです。メインスレッドでこのようなことをしているなら、あなたのUIとその内容を描画するダイアログをブロックします。あなたがループの中で何かをやっている場合は、単に反復ごとにQApplication::processEventsを呼び出し、

はこのようなものが何であるかに応じて、2つのオプションがあります。

操作がthemselveに時間がかかるか、ループではない場合は、別のスレッド上で、非同期的にこのようなものを実行する必要があります。たとえば、QtConcurrent::runを使用します。同時操作が完了したらQFutureWatcherを使用してダイアログを閉じる

関連する問題

 関連する問題