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

Qt 6.5.0中QtCore的Settings QML类型未生成settings.ini文件

问题解决:QML QtCore.Settings 未生成指定路径的 settings.ini 文件

问题分析

核心问题是QML中QtCore模块的Settings类型的location属性要求传入URL格式的路径,而非普通字符串路径。直接使用相对路径字符串时,Qt会默认将设置存储到系统默认配置目录(比如Linux下的~/.config/[组织名]/[应用名]、Windows下的注册表),因此设置能被记住,但不会在你指定的位置生成settings.ini文件。

解决方案

使用QML的Qt.resolvedUrl()函数将相对路径转换为符合要求的URL格式,该函数会自动基于当前QML文件的路径解析出正确的绝对URL。

修改后的 main.qml 代码

import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import QtCore

ApplicationWindow {
    id: window
    visible: true

    width: 800
    height: 600

    Settings {
        // 使用Qt.resolvedUrl处理相对路径,生成正确的URL
        location: Qt.resolvedUrl("settings.ini")
        property alias x: window.x
        property alias y: window.y
        property alias width: window.width
        property alias height: window.height
    }
}

替代方案:直接使用绝对URL路径

如果需要指定固定的绝对路径,可以直接写file:///开头的URL:

// Linux/macOS示例
location: "file:///home/your_user/your_app_dir/settings.ini"
// Windows示例(注意三个斜杠)
location: "file:///C:/your_app_dir/settings.ini"

验证说明

修改后运行程序,调整窗口尺寸并关闭,settings.ini会生成在main.qml所在的目录下,再次启动程序时窗口会恢复到上次的尺寸和位置。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 06:03:12