一.前言
软件开发中,有这样的需求:用户需要动态配置参数加载到软件界面,以及保存软件的一些状态值,这就需要将数据保存下来然后读取解析,针对这样的需求,可以有两种方式,一种就是自己定义数据格式,然后像读写文本数据那样去读取解析;另一种就利用Qt提供QSeetings来实现,QSeetings有固定的数据格式,以及提供数据读取的函数接口,使用起来便捷,本文就讲述QSettings的简单使用
二、核心代码
1.1写入核心代码
void Widget::on_pushButton_1_clicked()
{
QSettings *settings = new QSettings("App.ini",QSettings::IniFormat);
// 写入第一组数据
settings->beginGroup("PortInfo");
settings->setValue("name","COM1");
settings->setValue("checkBit","none");
settings->setValue("baudRate",9600);
settings->setValue("dataBits",8);
settings->endGroup();
// 写入第二组数据
settings->beginGroup("PortInfo1");
settings->setValue("name","COM2");
settings->setValue("checkBit","none");
settings->setValue("baudRate",100000);
settings->setValue("dataBits",8);
settings->endGroup();
delete settings;
settings =nullptr;
}
1.2效果
2.1读取核心代码
void Widget::on_pushButton_2_clicked()
{
QSettings *settings = new QSettings("App.ini",QSettings::IniFormat);
QString group1_name=settings->value("PortInfo/name").toString();
int group1_baudrate=settings->value("PortInfo/BaudRate").toInt();
QString group2_name=settings->value("PortInfo1/name").toString();
int group2_baudrate=settings->value("PortInfo1/BaudRate").toInt();
ui->textEdit->append("组1数据");
ui->textEdit->append(group1_name);
ui->textEdit->append(QString::number(group1_baudrate));
ui->textEdit->append("组2数据");
ui->textEdit->append(group2_name);
ui->textEdit->append(QString::number(group2_baudrate));
}
2.2效果
三、工程源码链接以及其他