QML: закрытие QQuickWindow закрывает мое приложение

Когда механизм QML создает окно, оно неявно соединяется QQuickWindow к событию закрытия приложения, так что если я закрою окна QML, приложение тоже закроется. Есть ли способ избежать такого поведения? Я хочу периодически загружать и уничтожать экземпляры QQuickWindow так что не закрою мое приложение.

1 ответ

Решение

Ты можешь использовать setQuitOnLastWindowClosed в QGuiApplication, Свойство указывает, должно ли приложение закрываться при закрытии последнего окна или нет. Значение по умолчанию - true, вы можете изменить его на false.

Ваша главная может быть как:

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

    qApp->setQuitOnLastWindowClosed(false);

    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:///main.qml")));

    return app.exec();
}
Другие вопросы по тегам