我正在开发的应用程序由许多通过消息 ( 0mq
) 一起通信的 C 线程组成。其中一个线程正在处理显示,并且应该在屏幕外渲染一个小部件,以便将其“屏幕截图”传递给应用程序的其他线程。
问题是,为了绘制一个小部件,您需要将它放在 a 中QApplication
并调用 的exec()
方法QApplication
,这本质上是一个循环。所以我的线程完全卡住了,因为它在 exec() 方法中,所以不能再与外界通信。
有没有办法可以在单独的线程中启动 QApplication 并与之通信,这样我的显示线程就不会卡住?或者至少有一种方法可以用 Qt 做我想做的事情?
非常感谢 !
编辑:此应用程序最终将成为 Qt 嵌入式应用程序
更新基本上,我的问题是:如何在与我的 C 代码不同的线程中启动 QApplication 并与之通信?