将 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()
我正在尝试将扭曲添加到我现有的应用程序中。根据 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()