Мне нужно спроектировать один симулятор в QT. Мне нужно написать все бизнес логи c в одной DLL. В моем симуляторе будет два режима
- Безголовый режим (где приложение QT GUI) не должен запускаться. Режим
- GUI (где QT * 1035) * приложение) должно быть запущено.
Мне нужно написать свой код всей бизнес-логики c и код режима без головы, где приложение QT GUI не требуется для запуска в DLL. У меня есть ограничение на то, что не должно быть ни одного запущенного события l oop (значит, не нужно создавать экземпляр приложения QT). Поскольку эта DLL будет загружена другим консольным приложением, и я не должен вводить никаких задержек и создавать один поток в DLL для обработки событий.
В основном DLL, которая содержит (весь код бизнес-логики c и ссылки без заголовка код) должен быть загружен консольным приложением C ++ (не qt).
Но библиотека DLL должна быть достаточно способной для запуска приложения GUI в режиме GUI. Как я могу заставить мои DLL и приложение QT GUI говорить друг с другом, не внося в картинку событие QT l oop.
Я не хочу создавать поток в моей DLL для обработки событий, так как события должны обрабатывается не-QT консольным приложением, которое загружает его, что вызывает огромные задержки в системе.
Так что мне нужно спроектировать симулятор в DLL, который будет включать в себя все логи c Simulator. Но сохраняя GUI отдельным как приложение QT.
Так что в основном мне нужно сделать что-то вроде работы, если что-то нажимается в приложении QT GUI, тогда моя DLL должна знать, что это событие произошло, и выполнить какое-то действие. Мое требование заключается в том, что циклы событий QT и создание экземпляра Qapplication должны быть , а не в DLL, они должны просто обрабатывать данные и взаимодействовать с приложением, которое загружено C ++ (NON -QT-приложение), и должны общаться с Приложение QT GUI.
Поток должен быть таким:
C ++ (не приложение QT) загрузит DLL, а затем на основе входных данных из приложения C ++ DLL должна решить, запускать ли GUI или не.
Если необходимо запустить GUI, то при выполнении какого-либо действия с GUI он должен сообщить об этом в DLL. И данные в GUI должны быть заполнены из DLL (значит, DLL должна предоставлять необходимые данные в DLL).
Любые другие предложения по дизайну также приветствуются.