0

アプリケーション全体をフリーズすることなく、この画像をダウンロードする最良の方法であるインターネット サーバーから大きな画像を取得するアプリケーションを開発していますか? バックグラウンドダウンロードのことです。別のスレッドでダウンロードすることを考えました。

4

2 に答える 2

0

はい、ネットワーク通信を行うには別のスレッドを生成する必要があります。読み取りが終了したら、揮発性ブールフラグを使用して、作業が完了し、メイン/アプリケーションスレッドがデータを取得して組み込むことができることを示すことができます。それ。(ブラウザのように)画像を1つずつ表示したい場合は、データを画像の「一部」にすることができます。

于 2009-01-27T11:30:39.353 に答える
0

バックグラウンド スレッドは機能しますが、正しく処理するのは難しく、通常は必要ありません... Qt4 では、QTcpSocket クラスを使用して、メイン スレッドでノンブロッキング I/O を非常に簡単に実行できます。基本的には、QTcpSocket オブジェクトの readReady( ) プログラムのスロットにシグナルを送信し、スロットが呼び出されたときに QTcpSocket から新しく利用可能なデータを読み取るようにします。例として、Qt の例のディレクトリ ($QTDIR/examples/network/fortuneclient) にある fortuneclient の例を見てください。

于 2010-04-25T05:28:34.307 に答える