1

我有一个 django 应用程序,通过 Twisted 提供服务,它还提供其他服务(主要是三个套接字)。

我需要让它在 Windows 下工作,我决定编写一个 PyQt4 应用程序,它的作用与Windows 的Apache Service Monitor非常相似。

我无法将扭曲的反应器连接到 pyqt 应用程序反应器,因此也欢迎任何关于此的提示。

现在我有这种架构:

  • QMainWindow在 __ init __() 中具有 log.addObserver(callBack) 函数和小部件。
  • Twisted 初始化器类,它扩展了 QtCore.QThread并在不同的线程中工作。
  • 在 Twisted 上运行的 django 应用程序。

我需要了解如何运行反应器,因为从QtCore.QThread调用 reactor.start() 根本不起作用,给我:

exceptions.ValueError: signal only works in main thread

另外我问你对应用程序设计的看法,这对你有意义吗?

4

1 回答 1

1

我不确定我是否完全理解您的设计,但我可以说的是您只需要在应用程序中使用一个反应器。反应器是应用程序的主(事件)循环。而且,我认为,在你的情况下,这个反应器应该是QTReactor

于 2010-07-02T13:43:29.833 回答