Я использую движок Urho3D с Qt для приложения. Проблема в том, что и Urho3D, и QApplication должны запускаться из main (). Пока я использую его в отдельных процессах, но IPC усложняет.
Есть ли способ решить эту проблему? Спасибо
Моя платформа — Urho3D 1.5, Qt 4.71 и Windows 7 x64 и VS2015 (C ++)
Я новичок в c ++ и Urho3D, но я успешно достиг этого.
Простой код, больше не тестировался:
awidget.h:
#ifndef AWIDGET_H
#define AWIDGET_H
#include <QWidget>
#include <QPushButton>
#include <Urho3D/Engine/Application.h>
class aWidget : public QWidget
{
Q_OBJECT
public:
explicit aWidget(QWidget *parent = 0)
{
QPushButton *button = new QPushButton(this);
connect(button, SIGNAL(clicked()), this, SLOT(pressed()));
}
public slots:
void pressed()
{
Urho3D::Context* context = new Urho3D::Context();
Urho3D::Application *application = new Urho3D::Application(context);
application->Run();
}
};
#endif // AWIDGET_H
main.cpp:
#include <QApplication>
#include <awidget.h>
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
aWidget *widget = new aWidget();
widget->show();
return app.exec();
}
Кстати, я использую Qt 5.9.0
Других решений пока нет …