将 twisted 集成到现有的 pyqt GUI 应用程序中

Integrating twisted into existing pyqt GUI application

我正在尝试将扭曲添加到我现有的应用程序中。根据 this 和其他来源,我应该导入 qt4reactor。当我尝试时:

app = QApplication(sys.argv)
from twisted.application import reactors
reactors.installReactor('pyqt4')

(我也试过了:)

from twisted.internet import qt4reactor 

我得到 twisted.application.reactors.NoSuchReactor:'pyqt4'。我可以直接下载安装qt4reactor,然后实例化QApplication后安装不了?

此外,由于我添加了扭曲,文档指出我应该使用 reactor.runReturn() 而不是 reactor.run()。

from twisted.internet import reactor, protocol
reactor.listenTCP(8001, tcpFactory())
reactor.runReturn()

当我尝试这个时,我得到 AttributeError:'SelectReactor' 对象没有属性 'runReturn'。这是因为我在实例化 QApplication 后无法安装 qt4reactor 吗?

现在 qt4reactor 与 Twisted 是分开的并且位于 here

所以你需要先安装它,然后试试:

from twisted.application import reactors
reactors.installReactor('pyqt4')

from qtreactor import pyqt4reactor
pyqt4reactor.install()