100枚の画像のセットをに読み込んでいQTableWidget
ます。ロードには約4秒かかるので、アクティビティインジケーターやスピナーなどを備えたプログレスバー(カスタマイズされたもの)を表示したいと思います。信号とスロットによって、画像をロードした後、GUIとプログレスバーを同時に更新するにはどうすればよいですか?
質問する
214 次
2 に答える
0
イベントループはメインタスクでビジーであるため、リクエストを処理できません。イベントループが解放された後、すべてのスロットが呼び出されます。オプションは次のとおりです。
- 遅い処理を別のスレッドに移動します。非メインスレッドでQtのウィジェットを操作できないため、ここではオプションではない可能性があります。
- GUIの変更を適用するたびに呼び出し
QApplication::processEvents()
ます。これは一般的で単純な解決策です。この関数は、スロットを実行し(呼び出しが保留されている場合)、GUIを更新し、実行フローを返します。
于 2012-12-23T16:48:20.947 に答える
0
画像をロードするためのより良い方法はQThread
、画像を処理するときに信号を発する を使用し、その信号をメイン ウィジェットのスロットに接続することです。ここにいくつかの例があります。
于 2012-12-24T02:19:47.693 に答える