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

如何解构QML中的rect对象以快速恢复窗口位置?

QML中用Rect类型批量恢复窗口位置的简洁方法

QML的rect是Qt封装的结构体类型,并非原生JS对象或数组,所以你尝试的JS解构赋值语法并不适用。以下是两种比逐个赋值更简洁的实现方式:

方法一:单行链式赋值

将四个属性的赋值合并为一行,代码更紧凑:

Component.onCompleted: {
    window.x = settings.coords.x; window.y = settings.coords.y; window.width = settings.coords.width; window.height = settings.coords.height;
}

方法二:遍历属性列表赋值

借助JS数组遍历避免重复书写属性名,适合属性较多的场景:

Component.onCompleted: {
    ['x', 'y', 'width', 'height'].forEach(prop => window[prop] = settings.coords[prop]);
}

另外补充窗口位置的保存逻辑,直接给settings.coords赋值窗口的rect属性即可:

Component.onDestruction: {
    settings.coords = window.rect;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 03:04:52