Как запустить асинхронную программу и программу на PyQt5 кореектно?
Есть 2 программы, первая построена на блокирующих функциях опроса различных устройств через последовательные порты, общается с базой данных и иногда шлет информацию на сервер. Так как много блокирующих операций была написана с применением библиотеки asyncio. Вторая программа, выводит различные сообщения и заставки на экран, была написана на PyQt5.
Пример запуска программ:
def start_qt_widgs():
app = QApplication(sys.argv)
screen = MainWindow()
screen.show()
sys.exit(app.exec())
th = threading.Thread(target=start_qt_widgs,) #запуск программы на PyQt5
th.start()
asyncio.run(main()) #запус асинхронной программы
Когда происходит запуск, программы работают корректно, но я получаю предупреждение - WARNING: QApplication was not created in the main() thread. Как я понимаю, это связанно с запуском приложения написанном PyQt5 в отдельном потоке, а его нужно запускать в родительском. Вопрос, какие проблемы могут возникнуть? И как можно реализовать передачу данных между двумя этими программами, если запускать их на одном компьютере? В текущей реализации программы общаются через очереди.