java - 从非 Qt DLL (JNA) 使用 QTimer

标签 java c++ qt jna qt-mfc-migration

我写了一个库 (DLL)。 Java 代码使用我的 DLL 和 JNA。 在库中,我通过 QThread 派生类中的“new”创建了 Qtimer。

但是,我有以下错误:

ERROR: QTimer can only be used with threads started with QThread

在没有 QApplication/QCoreApplication 的情况下,我应该如何正确使用 QTimer 从非 Qt 线程调用?

最佳答案

不幸的是,据我所知,QTimer 需要 QCoreApplication。而且 QCoreApplication 必须在创建我看到的第一个 QObject 的线程中实例化。我所做的是实例化 QCoreApplication 一个使用 QtConcurrent::run 产生的新线程,并在那里实例化了我的 QObjects。我报告了一个简单的例子 here . QTimer 现在似乎工作正常。

关于java - 从非 Qt DLL (JNA) 使用 QTimer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10754308/

相关文章:

c++ - 在 Windows XP 中多次启动程序 + DLL 时出现问题?

c++ - 在 C++Builder 上替代 VCL

java - RxJava - 两个可观察对象

java - 如何从 Spark DataSet 中删除记录

c++ - Visual C++ UMDF V2 模板似乎创建了一个 C 项目,而不是 C++

c++ - C++错误中的结构初始化

c++ - 断开并稍后重新连接 Qt 信号

c++ - 使用角色更改 QAbstractTableModel headerData

java - 如何在 Piccolo2D 中使用多个图层?

java - 带有可编辑 JComboBoxes 的奇怪 Tab 键顺序