前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Qt使用配置文件

Qt使用配置文件

作者头像
impressionyang
发布2021-02-25 10:10:48
1.1K0
发布2021-02-25 10:10:48
举报
文章被收录于专栏:impressionyang的个人分享

先导

本文用于在qt中使用配置文件进行一些配置的保存

方法

关键点就是使用qt的一个类QSettings,该类提供一系列接口用于配置文件的操作如读取和写入,支持的配置文件格式有iniconf等。使用该类在软件启动时进行初始化操作对一些软件的配置进行赋值操作,可以使得上一次保存的配置可以继续使用,增加程序使用的便捷性。

实现

定义

代码语言:javascript
复制
QSettings setting = new QSettings(file_path, QSettings::IniFormat);

读取

代码语言:javascript
复制
QVaraint value = setting->value("key/item");

讲解

  • key是指配置的组的键值
  • item是指这个配置组里面的具体的配置项的键值
  • 返回的是一个QVarant类型的值,可以通过对应的to方法转换为对应的数据,如字符串用toString
  • 如果没有这个配置的话则返回空的QVarant

写入

代码语言:javascript
复制
setting->setValue("key/item", value);

讲解

  • keyitem同上,是用来定位配置项目的。
  • value则是写入进配置文件的对应配置项的值,类型是QVarant,直接写入值可以自动转换类型

一些错误

中文乱码

中文乱码是因为没有对配置文件的编码做配置而于系统使用编码不匹配导致的,基本解决方案是将配置文件使用一个比较统一的编码格式,因为我个人会跨平台使用代码,所以我会把配置文件的编码统一保存为utf-8的格式。然后使用方法setIniCodec(QTextCodec::codecForName("UTF-8"));来设置编码格式。

  • 注意:使用该方法需要包含头文件#include <QTextCodec>,否则无法使用QTextCodec的静态方法,并且注意配置文件的编码格式和设置的编码格式匹配。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-12-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 先导
  • 方法
  • 实现
    • 定义
      • 读取
        • 写入
        • 一些错误
          • 中文乱码
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档