美文网首页C++
7.QT读写ini配置文件--Apple的学习笔记

7.QT读写ini配置文件--Apple的学习笔记

作者: applecai | 来源:发表于2021-07-12 20:54 被阅读0次

    一,前言

    之前已经学习了QT访问数据库6.QT连接sqlite数据库--Apple的学习笔记,那么今天继续和数据打交道,比如ini配置,json,xml等。我以前制作python小工具会用到ini和json,那么QT我也尝试下使用他们。

    二,需求

    本次刻意练习的目标是实现ini配置文件的读写。

    三,设计

    网上搜索了下ini和json类似,xml主要有node循环扫描。所以我实现了ini。而ini类在widget销毁的时候会自动保存。另外关于配置的类,都设计为了单例模式来共享静态类,其它widget可以直接访问其方法。
    顺便应用下QTableview界面来显示。所以我用了之前page切换的一个widget移植后稍微修改下。而ini数据读取后,保存到向量数组中。ini类非widget,是一个独立的类,将来便于移植使用。关于读和写ini代码如下

    void QReadIni::readIni()
    {
        QSettings * configIniRead = new QSettings("user.ini",QSettings::IniFormat);        //初始化读取Ini文件对象
        iniConfig.ip = configIniRead->value("conn/ip").toString();                          //IP地址
        iniConfig.port = configIniRead->value("conn/port").toString();                      //端口
        iniConfig.dataBaseType = configIniRead->value("conn/databasetype").toString();      //数据库类型
        iniConfig.dataBaseName = configIniRead->value("conn/databasename").toString();      //数据库名称
        iniConfig.userName = configIniRead->value("conn/username").toString();              //用户名
        iniConfig.passWord = configIniRead->value("conn/password").toString();              //密码
        delete configIniRead;
        // save to vector
        info.push_back(iniConfig.ip);
        info.push_back(iniConfig.port);
        info.push_back(iniConfig.dataBaseType);
        info.push_back(iniConfig.dataBaseName);
        info.push_back(iniConfig.userName);
        info.push_back(iniConfig.passWord);
    }
    void QReadIni::saveIni()
    {
       QSettings *configIniSave = new QSettings("user.ini", QSettings::IniFormat);
       configIniSave->setValue("conn/ip", "192.168.0.1");  
       configIniSave->setValue("conn/username", "PeterWang");   
       delete configIniSave;  
       qDebug()<<"saved";
    }
    

    四,问题

    ini文件无法添加到资源文件中
    此问题我暂时无法解决。主要觉得放什么位置也没那么重要,能访问即可。

    五,效果

    image.png

    六,小结

    本次主要了解了些配置文件的读写方法。将来做工具一定会用到的。

    相关文章

      网友评论

        本文标题:7.QT读写ini配置文件--Apple的学习笔记

        本文链接:https://www.haomeiwen.com/subject/jmydpltx.html