Проект Qt3D не показывает никакого результата после успешной компиляции - PullRequest
0 голосов
/ 06 октября 2018

Когда я компилирую свой проект Qt3D, все в порядке, но после его запуска ничего не происходит (новое окно не открывается).В консоли Qt говорится, что программа была успешно запущена, и я даже могу найти процесс с моим приложением в диспетчере задач Windows, но примерно через 30 секунд Qt сообщает, что приложение внезапно закрылось (за это время не было открыто никаких новых окон).Мой код main.cpp:

#include <QGuiApplication>
#include <Qt3DCore>
#include <Qt3DExtras>
#include <Qt3DRender>

Qt3DCore::QEntity *createScene();

int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);

    Qt3DExtras::Qt3DWindow window;

    Qt3DCore::QEntity *rootEntity = createScene();

    Qt3DRender::QCamera *camera = window.camera();
    camera->lens()->setPerspectiveProjection(60.0f, float(window.width()) / window.height(), 0.1f, 1000.0f);
    camera->setPosition(QVector3D(0.0f, 0.0f, 40.0f));
    camera->setViewCenter(QVector3D(0.0f, 0.0f, 0.0f));

    window.setRootEntity(rootEntity);
    window.show();
    return app.exec();
}

Qt3DCore::QEntity *createScene()
{
    Qt3DCore::QEntity *resultEntity = new Qt3DCore::QEntity;

    Qt3DExtras::QTorusMesh *torusMesh = new Qt3DExtras::QTorusMesh(resultEntity);
    torusMesh->setRadius(15.0f);
    torusMesh->setMinorRadius(6.0f);
    torusMesh->setSlices(16);
    torusMesh->setRings(32);

    Qt3DExtras::QPhongMaterial *torusMaterial = new Qt3DExtras::QPhongMaterial(resultEntity);

    Qt3DCore::QTransform *torusTransform = new Qt3DCore::QTransform(resultEntity);

    resultEntity->addComponent(torusMesh);
    resultEntity->addComponent(torusMaterial);
    resultEntity->addComponent(torusTransform);

    return resultEntity;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...