如题:
今天看了看QSettings 的用法
用value读,用setValue写
代码如下:
#include <QCoreApplication>
#include <QDebug>
#include <QString>
#include <QSettings>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QSettings *m_IniFile = new QSettings(":/Setting.ini", QSettings::IniFormat);
QString age = m_IniFile->value("section1/sex").toString();
qDebug()<<age;
m_IniFile->setValue("section1/sex", "feman");
age = m_IniFile->value("section1/sex").toString();
qDebug()<<age;
delete m_IniFile;
return a.exec();
}
但是问题来了,运行的结果,可以看得出来,写入成功了。
但是奇怪的是,再次运行,结果还是这样,查看文件,发现根本就没有写入成功
这就令人很头疼了,最后搞了半天,才发现,是路径写错了。
“:/”的写法是引用资源文件的写法,将其去掉就可以了;
最后不得不,再来整理一下路径相关:
./ : 表示当前路径 如“./log/log1.txt” 表示当前路径下的log目录下的log1.txt
:/ : 表示对资源的引用,引用资源文件路径 如“:/image/start.png” 表示资源文件里面定义的文件start.png
其实还是没有料到居然是Qt中这个路径的写法的问题。
麻辣鸡,菜狗!