Qml 申请关闭问题

问题描述 投票:0回答:1

我正在构建一个 qml 应用程序,并且在每个地方打印控制台日志,但是如果我最小化应用程序并尝试从任务栏关闭,我将如何在控制台日志中捕获该关闭事件。我使用的是QT 5.13版本。

Component.onCompleted: {
       Qt.application.activeChanged.connect(function() {
           if (!Qt.application.active) {
               console.log("Application closed from taskbar")
           }
       })
   }

我尝试了上面的代码,但此代码根据可见性打印控制台日志,如果我最小化应用程序,那么它的打印是错误的

c++ qt qml qqmlapplicationengine
1个回答
-1
投票

应用程序在即将退出时应发出

aboutToQuit
信号。

对于 QML,它被公开为

Application
单例,您可以像这样使用:

    import QtQuick

    Window {
        id: root
        visible: true
        width: 800
        height: 680
    
        title: `${Application.name} (${Application.version})`
    
        Connections {
            target: Application
            function onAboutToQuit() {
                console.log("Bye!")
            }
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.