Мне нужно запустить приложение QT из Java, используя JNA. Проблема в том, что QT нужно запускать из основного потока, однако я хочу создать его в другом потоке и мгновенно управлять моим java-приложением после создания окна qt и просто отправить некоторые данные в QT через JNA. Когда я создаю QTApp из другого потока, я получаю предупреждение «QAppplication не был создан в потоке main ()», и нет ответа на GUI. Есть ли чистое решение проблемы?
Вы можете создать QCoreApplication в QThread. Вот пример фрагмента того, что я недавно сделал:
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();
Других решений пока нет …