0

我需要使用 JNA 从 Java 运行 QT 应用程序。问题是,QT 需要从主线程运行,但是我想在不同的线程上创建它并在创建 qt 窗口后立即管理我的 java 应用程序,并通过 JNA 将一些数据发送到 QT。当我从另一个线程创建 QTApp 时,我收到警告“未在 main() 线程中创建 QAppplication”,并且对 GUI 没有响应。这个问题有什么干净的解决方案吗?

4

1 回答 1

0

您可以在 QThread 中创建 QCoreApplication。这是我最近做的一个示例片段:

class MyThread : public QThread
{
public:
void run()
{
    int argc = 0;
    char* argv[1];// = new char[];
    QCoreApplication a(argc,&argv[0]);
    // More initilization code here
    a.exec();
}
};

在 main 中声明你的线程并调用thread.start();

于 2013-07-31T08:49:17.877 回答