QT 读写ini

一 背景

 

1 ini文件介绍

.ini 文件是Initialization File的缩写,即初始化文件。

除了windows现在很多其他操作系统下面的应用软件也有.ini文件,用来配置应用软件以实现不同用户的要求。一般不用直接编辑这些.ini文件,应用程序的图形界面即可操作以实现相同的功能。它可以用来存放软件信息,注册表信息等。

 

2 ini文件格式

INI文件由节、键、值组成。 

  [section] 

参数(键=值)

name=value

 

下面是一个ini文件的例子

[Section1 Name]   

KeyName1=value1   

KeyName2=value2   

...   

[Section2 Name]   

KeyName21=value21   

KeyName22=value22   

 

其中:[Section1 Name]用来表示一个段落。因为INI文件可能是项目中共用的,所以使用[Section Name]段名来区分不同用途的参数区。例如:[Section1 Name]表示传感器灵敏度参数区;[Section2 Name]表示测量通道参数区等等。

注解:使用分号表示(;)。在分号后面的文字,直到该行结尾都全部为注解。

 

 

二 Qt读写ini文件

void MainWindow::on_pushButton_writeini_clicked()
{
    collectdataspec();
    QSettings *configIniWrite = new QSettings("config.ini", QSettings::IniFormat);
    configIniWrite->setIniCodec("UTF-8");
    configIniWrite->beginGroup("AppConfig");
    configIniWrite->setValue("tofspec", QString::number(specval[0]));
    configIniWrite->setValue("tofdev", QString::number(specval[1]));
    configIniWrite->setValue("multraspec", QString::number(specval[2]));
    configIniWrite->setValue("multradev", QString::number(specval[3]));
    configIniWrite->setValue("lultraspec", QString::number(specval[4]));
    configIniWrite->setValue("lultradev", QString::number(specval[5]));
    configIniWrite->setValue("wallinfspec", QString::number(specval[6]));
    configIniWrite->setValue("wallinfdev", QString::number(specval[7]));
    configIniWrite->setValue("floorspec", QString::number(specval[8]));
    configIniWrite->setValue("floordev", QString::number(specval[9]));
    configIniWrite->endGroup();
    //qDebug()<<specval[0]<<specval[1];
    delete configIniWrite;
    ui->statusBar->showMessage(QStringLiteral("数据保存成功"),1500);
    ui->statusBar->setStyleSheet("color:green;font:18pt '宋体';");
}

void MainWindow::readini()
{
    QSettings *configIniRead = new QSettings("config.ini", QSettings::IniFormat);
    configIniRead->setIniCodec("UTF-8");
    configIniRead->beginGroup("AppConfig");
    ui->tof_spec->setText(configIniRead->value("tofspec").toString());
    ui->tof_range->setText(configIniRead->value("tofdev").toString());
    ui->multra_spec->setText(configIniRead->value("multraspec").toString());
    ui->multra_range->setText(configIniRead->value("multradev").toString());
    ui->bultra_spec->setText(configIniRead->value("lultraspec").toString());
    ui->bultra_range->setText(configIniRead->value("lultradev").toString());
    ui->finfred_range->setText(configIniRead->value("wallinfdev").toString());
    ui->finfred_spec->setText(configIniRead->value("wallinfspec").toString());
    ui->binfred_range->setText(configIniRead->value("floordev").toString());
    ui->binfred_spec->setText(configIniRead->value("floorspec").toString());
    configIniRead->endGroup();
    delete configIniRead;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AlexFang0904

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值