Я занимаюсь разработкой симулятора. Я выбрал QT для графического интерфейса. Мой проект включает в себя много манипуляций с данными, и я использую QT только для отображения своих результатов.
Моя структура кода такова, что моя основная функция содержит глобальный объект моих данных, объект графического интерфейса пользователя QT и другие объекты для манипулирования этими данными. Мне нужно изменять эти данные каждые 30 мс. Я также приложил упрощенную версию моего основного файла.
Моя проблема в том, что я не могу вызывать функции других своих объектов (кроме GUI) до выхода из объекта QT. Я реализовал таймеры в QT изолированно, который отображает новые данные и работает нормально. Все, что я хочу сделать, это вызвать мои объекты ai и phySim в определенный интервал времени, независимый от объекта QT. Я хочу, чтобы эти три объекта были полностью независимыми.
world* _world;
int main(int argc, char *args[])
{
_world = new world();
gui *GUI; ///QT object
ai *AI;//object to manipulate data
phySim *sim;//object to manipulate data
/////////////////////////////////// this gets executed only when i close the QT gui
AI = new ai(_world);
AI->doSomething();
sim = new phySim(_world);
sim->updateWorld();
//////////////////////////////////////////////////////////////////////////////
QApplication app(argc,args);
GUI = new gui(_world);
GUI->show();
return app.exec();
}