Qt读写配置文件QSetting类使用详解
Qt读写配置文件QSetting类使用详解
在Qt开发中,配置文件的读写是一个常见的需求。QSetting是一个方便易用的类,可以快速实现配置文件的读写操作。
读取配置文件
// 新建一个QSettings对象
QSettings settings("config.ini", QSettings::IniFormat);
// 读取一个字符串
QString strValue = settings.value("key/str").toString();
// 读取一个整数
int intValue = settings.value("key/int").toInt();
// 读取一个浮点数
float floatValue = settings.value("key/float").toFloat();
写入配置文件
// 新建一个QSettings对象
QSettings settings("config.ini", QSettings::IniFormat);
// 写入一个字符串
settings.setValue("key/str", "hello world");
// 写入一个整数
settings.setValue("key/int", 123);
// 写入一个浮点数
settings.setValue("key/float", 3.14);
可选项
// 新建一个QSettings对象
QSettings settings("config.ini", QSettings::IniFormat);
// 读取一个字符串
QString strValue = settings.value("key/str").toString();
// 读取一个整数
int intValue = settings.value("key/int").toInt();
// 读取一个浮点数
float floatValue = settings.value("key/float").toFloat();
// 新建一个QSettings对象
QSettings settings("config.ini", QSettings::IniFormat);
// 写入一个字符串
settings.setValue("key/str", "hello world");
// 写入一个整数
settings.setValue("key/int", 123);
// 写入一个浮点数
settings.setValue("key/float", 3.14);
可选项
QSetting还提供了一些可选项,可以用来修改配置文件的行为。比如,可以设置默认值、同步写入等。
// 新建一个QSettings对象
QSettings settings("config.ini", QSettings::IniFormat);
// 设置默认值
settings.setDefaultFormat(QSettings::IniFormat);
// 同步写入
settings.setIniCodec(QTextCodec::codecForName("UTF-8"));
// 保存配置文件
settings.sync();
注意事项
在使用QSetting读写配置文件时,需要注意以下几点:
- 配置文件的路径需要正确,否则会出现读写失败的情况;
- 如果需要修改配置文件的值,需要先调用setValue函数进行写入,再调用sync函数进行保存;
- 如果需要在多个线程中使用QSetting对象,需要使用锁来保护。
下载地址
用户评论