QSettings 写入失效,居然是路径的问题

如题
今天看了看QSettings 的用法
用value读,用setValue写
代码如下:

#include 
#include 
#include 
#include 

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();
}

但是问题来了,运行的结果,可以看得出来,写入成功了。
但是奇怪的是,再次运行,结果还是这样,查看文件,发现根本就没有写入成功
QSettings 写入失效,居然是路径的问题_第1张图片
这就令人很头疼了,最后搞了半天,才发现,是路径写错了。
“:/”的写法是引用资源文件的写法,将其去掉就可以了;
QSettings 写入失效,居然是路径的问题_第2张图片
最后不得不,再来整理一下路径相关:
./ : 表示当前路径 如“./log/log1.txt” 表示当前路径下的log目录下的log1.txt
:/ : 表示对资源的引用,引用资源文件路径 如“:/image/start.png” 表示资源文件里面定义的文件start.png

其实还是没有料到居然是Qt中这个路径的写法的问题。
麻辣鸡,菜狗!

你可能感兴趣的:(C++,Qt,c++,qt,ini)