You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

QT 5.13 QML应用:捕获任务栏关闭事件并输出控制台日志

解决QML应用捕获关闭事件(含最小化后从任务栏关闭)的问题

针对QT 5.13版本的QML应用,你之前使用的activeChanged信号仅监听应用激活状态变化,最小化、切换到其他应用都会触发该信号,无法准确捕获应用关闭事件。正确的做法是监听Qt.application.aboutToQuit信号——这个信号会在应用即将退出时触发,无论关闭方式是从任务栏关闭最小化的应用、点击窗口关闭按钮,还是其他退出操作。

替换为以下代码即可实现需求:

Component.onCompleted: {
    Qt.application.aboutToQuit.connect(function() {
        console.log("Application closed (including from taskbar when minimized)")
    })
}

如果需要针对某个窗口的关闭事件(而非整个应用退出),可以给对应的Window组件绑定closing信号:

Window {
    id: mainWindow
    // ... 窗口其他属性配置

    onClosing: {
        console.log("Main window is closing")
        // 若需要阻止窗口关闭,可设置 close.accepted = false
    }
}

内容的提问来源于stack exchange,提问作者Praveenkumar Thulasiraman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 06:03:10