【发布时间】:2012-05-25 12:18:52
【问题描述】:
我写了一个库(DLL)。 Java 代码将我的 DLL 与 JNA 一起使用。 在库中,我通过 QThread 派生类中的“new”创建 Qtimer。
但是,我有以下错误:
ERROR: QTimer can only be used with threads started with QThread
在没有 QApplication/QCoreApplication 的情况下,我应该如何正确使用 QTimer 从非 Qt 线程调用?
【问题讨论】:
-
我认为显而易见的答案是你不能......但如果你不相信我在这里阅读stackoverflow.com/questions/7450044/…
-
但是,我没有 QCoreApplication。我是否需要创建 QCoreApplication 实例?
-
引用我给您的链接:“要使用 QTimer,您需要有一个事件循环。您需要使用 QCoreApplication::exec() 启动应用程序事件循环。”
-
我需要在哪里启动应用程序事件循环?代码中的什么位置?
-
鉴于 ::exec() 不会返回,您至少需要从专用 (Java) 线程调用它。
标签: java c++ qt jna qt-mfc-migration