ini读写——Qt的QSettings

1、注意中文乱码的情况,如界面、qDebug、cmd、ini里

2、注释用英文分号,不用#

 创建Widget界面项目,托放一个Label,核心代码如下

复制代码
#include <QSettings>
#include <QDebug>

#pragma execution_character_set("utf-8") //防止中文乱码,如界面、qDebug、cmd窗口

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    ui->label->setText("中文");

    //指定ini文件,若无则自动创建
    QSettings *pIni = new QSettings("config.ini", QSettings::IniFormat);
    //防止ini文件里中文乱码
    pIni->setIniCodec("UTF-8");
    //
    /*
    pIni->setValue("con/ip", "192.168.0.1");
    pIni->setValue("con/name", "aa");
    pIni->setValue("con/name2", "中文");
    //pIni->beginGroup("con");//条目多用这种写法比较方便
    //pIni->setValue("ip", "192.168.0.1");
    //pIni->setValue("name", "aa");
    //pIni->setValue("name2", "中文");
    //pIni->endGroup();
    pIni->setValue("port/int", "10");
    pIni->setValue("port/double","0.1");
    pIni->setValue("port/bool","true");
    pIni->setValue("port/ports", "2222,111,33,444");
    */
    //
    int a=pIni->value("port/int","5").toInt();
    double b=pIni->value("port/double","5.0").toDouble();
    bool c=pIni->value("port/bool","false").toBool();
    QString d=pIni->value("con/name2","默认值").toString();
    //读取所有Key
    foreach(QString key,pIni->allKeys())
    {
        qDebug() << key << pIni->value(key).toString();
    }
    //读取某一组
    pIni->beginGroup("port");
    foreach(QString key,pIni->childKeys())
    {
        qDebug() << key << pIni->value(key).toString();
    }
    pIni->endGroup();
    //读取所有组名
    foreach(QString key,pIni->childGroups())
    {
        qDebug() << key;
    }

    //查看结果
    qDebug()<<a<<b<<c<<d;

    //释放,方便再指向另一个ini文件
    delete pIni;
    pIni=nullptr;
}
复制代码

 

posted @   夕西行  阅读(316)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2020-08-08 打包exe(使用Inno Setup)
2017-08-08 字符串操作:判断相等、判断首尾、大小写转换
2017-08-08 字符串操作:索引位置、去空格、替换字符串
2016-08-08 批量处理图像并保存
2016-08-08 txt文件的读取
点击右上角即可分享
微信分享提示