一部のページではメソッドの呼び出しに時間がかかる QWizard サブクラスがあるため、QProgressBar を配置したいと考えています。私の最初の考えは、QTimer を作成し、updateProgressBar に呼び出されるメソッドをセットアップすることですが、これはウィザードと同じスレッドで実行されるように見えるため、QWizard がビジーでないときにのみ更新されます。これを別のスレッドで実行するにはどうすればよいですか?
質問する
454 次
2 に答える
0
長時間実行されるタスクをQThreadのサブクラスであるワーカー スレッドに移動します。ワーカー スレッドにその進行状況を示すシグナルを発行させ (それがわかれば完了率)、そのシグナルを進行状況バーの setValue(int) スロットに接続します。
于 2012-07-31T12:20:51.123 に答える
0
おかげで、QWizard クラスで QThread オブジェクトの作成を終了し、moveToThread を呼び出してオブジェクトをスレッドに移動しました。http://www.developer.nokia.com/Community/Wiki/How_to_move_a_QObject_to_a_threadなど
于 2012-07-31T18:10:19.567 に答える