1

我有一个 PyQt4 应用程序,它有时会使用 tarfile 模块打包一个大文件。由于 tarfile 模块没有实现任何回调策略,它会阻塞并且 Qt GUI 变得无响应。

我希望 GUI 在此期间不断更新。唯一的可能是单独的线程。所以,我启动了一个 QThread。我必须在 QThread 中做什么才能使 GUI 自行更新?一旦 tar 过程完成,我希望线程完成。

谢谢!弥敦道

4

1 回答 1

1

QThread 与普通的 Python 线程几乎相同,因此您可以使用普通的通信方法。然而,QThreads 也有一些可用的信号,所以如果你只是连接到这些信号,那么你就完成了。

在你的 GUI 代码中做这样的事情,你就完成了:

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

还有一个terminatedstarted信号可供您使用:)

于 2010-07-10T13:34:59.127 回答