前言
在使用QT进行应用开发时,有些场景需要读写配置文件,本文介绍在QT中读写配置文件(.ini文件)的相关知识。
一、配置文件(.ini文件)的格式如下:
[ADDRESS] // 表示节
address=238.8.8.8 // 键值对
port=10086
二、使用QT中的QSettings类进行读写操作!
1.QSetting类介绍:
QSettings setting(const QString &fileName,Format format,QObject* parent = 0);
参数1:配置文件名,若文件名不存在,则自动创建;
参数2:等于QSetting::IniFormat时,表示读写 *.ini格式的配置文件;
参数3:可以缺省;
2.示例代码:
QDir tempDir;
QString tempFilePath = tempDir.currentPath() + "A.ini"; // currentPath()方法返回应用程序所在的当前目录;
QSettings settings(tempFilePath,QSettings::Format::IniFormat);
// 方法(1):
settings.beginGroup("ADDRESS"); // 可以理解为进入到节ADDRESS
if(settings.childKeys().contains("baud"))
{
settings.setValue("baud",9600); // 若不存在则创建并赋初值;
}
else
{
QString baud = setting.value("baud").toString(); // 存在则取出
}
QString hostAddress = settings.value("address").toString(); // 直接读取 节ADDRESS下的address键的值;
settings.endGroup(); // beginGroup之后必须使用endGroup
// 方法(2):
settings.setValue("com2/baud",38400); // 如果不存在节com2下键 baud,则创建并赋值为38400
if(!settings.contains("com5/baud"))
{
settings.setValue("com5/baud",19200);
}
else
{
int baud = settings.value("com5/baud").toInt(); // 直接读取com
}
总结
以上是使用QSettings类进行读写ini配置文件的一种方法,QSettings类还有其他许多用法,以后如果用到后续再做补充!