1

私はPyQt4アプリケーションを持っています。これは、ある時点でtarfileモジュールを使用して大きなファイルをパックします。tarfileモジュールはコールバック戦略を実装していないため、ブロックされ、QtGUIが応答しなくなります。

その間、GUIを更新し続けてほしい。唯一の可能性は別のスレッドです。そこで、QThreadを開始します。GUIを更新するには、QThreadで何をする必要がありますか?タールプロセスが終了したらすぐに、スレッドを終了させます。

ありがとう!ネイサン

4

1 に答える 1

1

QThreadは通常のPythonスレッドとほとんど同じなので、通常の通信方法を使用できます。ただし、QThreadsにはいくつかのシグナルも用意されているため、それらに接続するだけでは、完了していません。

GUIコードで次のようなことを行うと、ほぼ完了です。

thread = Thread()
thread.finished.connect(gui.do_update_thingy)

あなたが使用できる利用可能な信号もterminatedあります:)started

于 2010-07-10T13:34:59.127 に答える