在做项目时,有时候同样的程序要运行在不同的环境或设备上,而这些环境不可能完全相同(比如IP地址),我们也不可能为为每一台设备都编译一个程序。 这时,配置文件就显示出了它的意义。
QT 提供了 QSetting 来读取修改配置文件
QSetting 由节、键和值组成, 可以理解为键是节的子集,值是键的内容。
配置文件的内容可手动修改,所以在程序里尽量不要去设置它的值(当然创建的时候可以设置初值,手动修改,以后只读取),而只是获取其值。
QSettings setting("config.ini",QSettings::IniFormat)
参数1:配置文件名,若文件不存在则会自动创建
参数2:读写*.ini格式的配置文件
参数3,可缺省
使用方法:
方法一:
setting.beginGroup("com1"); //可以理解为进入到 节 com1
if(!setting.childKeys().contains("baud")){//判断节com1中是否存在键 baud
setting.setValue("baud","9600"); //若不存在则创建并赋值为9600
}
else{
QString baud = setting.value("baud").toString(); //存在则取出键baud的值
qDebug()<< "---com1 baud = "+baud;
}
setting.endGroup(); //beginGroup后必须endGroup ,可以理解为退出com1
方法二:
setting.setValue("com2/baud",38400); //如果不存在节com2下的键baud, 则创建并赋值为38400;
qDebug()<<"***com2 baud = "+setting.value("com2/baud").toString();
if(!setting.contains("com5/baud"))
setting.setValue("com5/baud",19200); //不存在则创建则赋初值
else
int baud = setting.value("com5/baud").toInt();
if(!setting.contains("com8")) //判断节com8是否存在 但不会创**************
以上程序的运行结果,图中的值可手动修改