在PyQt4中保持活动状态

问题描述:

我有一个PyQt4应用程序,它在某些时候使用tarfile模块打包一个大文件。由于tarfile模块没有实现任何回调策略,因此它会阻塞并且Qt GUI无法响应。在PyQt4中保持活动状态

我希望GUI在那段时间内保持更新。唯一的可能性是一个单独的线程。 所以,我开始一个QThread。在QThread中我必须做什么来使GUI自行更新? 一旦tar程序完成,我希望线程完成。

谢谢! Nathan

QThread的和普通的Python线程非常相似,所以你可以使用普通的通信方法。然而,QThreads也有一些可用的信号,所以如果你只是连接到那些,那么你就完成了。

在你的GUI代码做这样的事,你就几乎完成:

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

+0

谢谢,但我我想知道哪些函数需要gui来更新。 – Nathan 2010-07-11 14:16:09

+0

你在找什么样的GUI更新?你可以简单地连接任何插槽的信号,它会工作:) – Wolph 2010-07-11 19:40:02

+0

我想gui重绘(如果它认为这是必要的),并对用户输入作出反应 – Nathan 2010-07-13 14:50:21