Qt 6 QML Settings location 不创建指定路径文件

在 Qt QML 项目中可以使用Qt QSettings QML 版 Settings 方便数据持久化,具体使用可以参考Qt 文档,这里主要简单记录一下从Qt 5 升级到 Qt 6 后,没有创建指定的文件。在Qt 5中是使用 fileName 属性来指定文件路径,如下,能在 app 文件夹下面自动创建 qt_ui_config 文件

javascript 复制代码
// Qt 5
import Qt.labs.settings 1.0
Settings {
        id: myAppSettings
        fileName: applicationDir + "/qt_ui_config" 
        property bool isEdit: false
        property int menuIndex: 0
        property int menuPreIndex: 0
        category: "rightMenu"
    }

到 Qt 6 以后, 弃用了 fileName 属性,改用 location 属性,但有个坑,如果只是简单修改属性名,会发现指定的目录下找不到文件,但是能正常使用,这是因为 Qt 6 的 location 属性后面的路径中要添加前缀: "file:"

javascript 复制代码
// Qt 6
import QtCore
Settings {
        id: myAppSettings
        // location: applicationDir + "/qt_ui_config"  // failed 
        location: "file:" + applicationDir + "/qt_ui_config" // ok
        property bool isEdit: false
        property int menuIndex: 0
        property int menuPreIndex: 0
        category: "rightMenu"
    }
相关推荐
上海安当技术2 小时前
C/S 桌面软件怎么接 UKey 强认证?C# SDK 与 C 动态库集成 WinForms/Qt/工控实战
c语言·qt·c#
雨田言炎4 小时前
五、Qt控件使用说明大全
开发语言·qt
熬夜苦读学习6 小时前
Qt--界面优化
开发语言·qt
Bryce学亮6 小时前
FileLine,基于 Qt 6 + QML 构建的跨平台文件传输与即时通讯工具
数据库·c++·人工智能·python·qt·github
sycmancia10 小时前
Qt——复习篇painter
开发语言·qt
Quz11 小时前
QML ProgressBar 基础用法:默认样式与平滑动画
qt
繁重的秋春11 小时前
Qt6.0下的CMake的部署配置
qt·cmake
qq_4017004111 小时前
Qt 程序启动太乱?重新设计你的 Application 生命周期
开发语言·qt
Quz11 小时前
QML Tumbler 自定义滚轮:用 PathView 实现横向选择器
qt
Quz1 天前
QML Tumbler 样式定制:渐变、高亮与 3D 滚轮效果
qt