2009-10-12 30 views
0

我正在为另一个应用程序编写插件。我想在多个平台上支持该插件,所以我强烈考虑使用Qt。Qt:为其他应用程序编写插件

该插件需要能够显示一些基本的GUI。插件接口不以任何方式处理GUI - 它只是一个简单的DLL /共享库,用C头文件指定。

我可以在这样的共享库中使用Qt吗?调用应用程序可能会或可能不会使用Qt本身。有什么提示要做什么?我是否需要在单独的线程中运行QApplication事件循环?或者我可以在等待输入的时候自己调用事件循环? (我只需要模态对话框)。

+0

为什么不接受一些其他Qt问题的答案?我知道其中至少有一个,QtCreator/MSVC,有很好的答案。 – rpg 2009-10-12 14:15:38

+0

谢谢你提醒我。我推迟了,因为有几个很好的答案,很难选择一个“最好”的答案。 – 2009-10-12 17:39:45

回答

0

我不认为这是可能的,因为您需要创建QApplication eventloop in the main thread

注意,QCoreApplication :: EXEC() 必须始终从主 线程调用(执行 线程主体()),而不是从QThread的。在GUI 应用程序中,主线程也被称为GUI线程,因为它是仅允许执行 GUI相关操作的 线程。

+0

我可以启动一个非QT线程来托管QApplication。它可能不被支持,但我不明白为什么它不应该工作。 – 2009-10-12 11:39:56

+2

下面是对类似问题的讨论:http://stackoverflow.com/questions/1051333/combing-an-external-event-loop-with-qts – torque 2009-10-12 12:14:20

相关问题