Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要使用 JNA 从 Java 运行 QT 应用程序。问题是,QT 需要从主线程运行,但是我想在不同的线程上创建它并在创建 qt 窗口后立即管理我的 java 应用程序,并通过 JNA 将一些数据发送到 QT。当我从另一个线程创建 QTApp 时,我收到警告“未在 main() 线程中创建 QAppplication”,并且对 GUI 没有响应。这个问题有什么干净的解决方案吗?
您可以在 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();
thread.start();