QML:关闭 QQuickWindow 会关闭我的应用程序

QML: closing QQuickWindow closes my application

当 QML 引擎创建 window 时,它隐式地将 QQuickWindow 连接到应用程序的关闭事件,因此如果我关闭 QML windows 应用程序也会退出。有没有办法避免这种行为? 我想定期加载和销毁 QQuickWindow 的实例,这样就不会关闭我的应用程序。

您可以在 QGuiApplication 中使用 setQuitOnLastWindowClosed。 属性 表示应用程序是否应在最后一个 window 关闭时退出。默认值为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();
}