QtReactor关闭应用程序窗口(使用Scrapy)

时间:2016-03-10 21:52:34

标签: pyqt scrapy pyqt4 twisted reactor

我已经设置了一个基本的QT(PyQt4)应用程序。它使用Scrapy运行几个蜘蛛,并避免在一个非常冗长的抓取操作期间阻止gui,我正在使用QtReactor(我在几个地方看到过),以允许我的GUI在抓取期间更新。

现在我只有一个旋转进度条(范围为0,0)并且在抓取过程中会更新。

然而,我有一个问题,一旦抓取完成我的申请就会自行退出。它肯定与QtReactor有关,因为没有下面添加的前两行代码,它工作正常(但阻止GUI)。

造成这种情况的原因是什么?

感谢。

我的主要:

from qtreactor import pyqt4reactor
pyqt4reactor.install()

import sys
from PyQt4 import QtGui
from Gui.DkMainWindow import DkMainWindow

if __name__ == "__main__":

    app = QtGui.QApplication(sys.argv)

    form = DkMainWindow()
    form.show()
    sys.exit(app.exec_())

1 个答案:

答案 0 :(得分:0)

我从未使用QtReactor,但我看到的所有示例都是在创建应用程序后安装

import sys
from PyQt4 import QtGui
from Gui.DkMainWindow import DkMainWindow

if __name__ == "__main__":

    app = QtGui.QApplication(sys.argv)

    from qtreactor import pyqt4reactor
    pyqt4reactor.install()

    form = DkMainWindow()
    form.show()
    sys.exit(app.exec_())

但如果这没有区别,你可能还想尝试:

    app.setQuitOnLastWindowClosed(False)