QSetting使用及读写中文

简述

使用QT QSettings读写配置文件,来保存程序的初始值。

在qt 5.9.3下使用的情况。

简单使用

//1.创建

QSettings(QCoreApplication::applicationDirPath()+"/config.ini", QSettings::IniFormat, this);

//2.更新值 // key,value

settings->setValue("/setting/currentTabIndex", index);

//3.读取值

settings->value("/setting/currentTabIndex").toInt();

注意点:

new QSettings 创建后没有写文件的话,不会创建文件;

new QSettings 第二个参数格式必须要写,不然生成文件不成功。

读取中文

windows下编码方式为gbk,为了在本地文件显示中文,需设置QSetting的编码方式。

QSettings set = new QSettings(filename,QSettings::IniFormat);

set->setIniCodec(QTextCodec::codecForName("GBK"));

需要在创建QSetting后立刻设置编码方式。

这样可以正确的读中文了,使用value函数获取到值后QSettings自动对其编码进行了处理,直接可以使用QString,

写入时可以直接把中文内容的QString写入QSetting里,QSettings 自动会转码存储,使得文件能正确显示中文 。

你可能感兴趣的:(Qt)