В настоящее время я разрабатываю программу, которая будет запускать тесты на устройстве Phabrix SX.Эти тесты выполняются в другом потоке, чтобы предотвратить зависание графического интерфейса.Теперь у меня возникла проблема с созданием графического интерфейса в рабочем потоке, и я действительно не знаю, как с ним справиться.
Мне нужно открывать различные виды диалогов (QMessageBox, QInputDialog и т. Д.) Из отдельногорабочая нить.Например, мне нужно ввести серийный номер для одного из тестов, и я хочу сделать это с помощью QInputDialog.Если я попытаюсь создать и выполнить диалоговое окно в рабочем потоке, то произойдет сбой программы (потому что он не работает в потоке графического интерфейса).
try
{
PhTResult result = test->run();
emit sequenceFinished(sequenceCounter, result);
}
catch (PhabrixExceptions::PhEConnectionFailure e)
{
QMessageBox messageBox;
messageBox.setText(e.what());
messageBox.exec();
}
Я хочу создать диалог через рабочий поток и отобразить его пользователю.Есть ли способ создать графический интерфейс в другом потоке и отправить его в основной поток графического интерфейса?