QSetting
Posted judes
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QSetting相关的知识,希望对你有一定的参考价值。
1、初始化,判断是否存在ini文件,如果不存在则新建 void iniConfig() { QFileInfo fileInfo(".\config.ini"); if (!fileInfo.isFile()) { QSettings iniFile(".\config.ini", QSettings::IniFormat);//参数1,代表新建ini文件的位置的绝对路径; 参数2,将设置存储在ini文件中 iniFile.setIniCodec(QTextCodec::codecForName("GB2312")); //解决读取value值的中文乱码问题 for (int i = 0; i < 8; i++)//8个组 { QString tempStr = QString("car_%1").arg(i+1); iniFile.beginGroup(tempStr); iniFile.setValue("net_port", 1000); //端口 iniFile.setValue("net_server_ip", "192.168.40.11"); //服务器ip iniFile.setValue("net_local_ip", "192.168.40.10"); //本地ip iniFile.setValue("net_gwaddr", "192.168.40.1"); //网关 iniFile.setValue("net_maskaddr", "255.255.255.0"); //子网掩码 iniFile.endGroup(); } } } 2、读取值 void getConfig(int carNUm) { QSettings iniFile(".\config.ini", QSettings::IniFormat);//参数1,代表新建ini文件的位置的绝对路径; 参数2,将设置存储在ini文件中 iniFile.setIniCodec(QTextCodec::codecForName("GB2312")); QString tempStr = QString("car_%1").arg(carNUm); iniFile.beginGroup(tempStr); ui.lineEdit_31->setText(iniFile.value("net_port").toString());//端口 ui.lineEdit_83->setText(iniFile.value("net_server_ip").toString()); ui.lineEdit_32->setText(iniFile.value("net_local_ip").toString()); ui.lineEdit_33->setText(iniFile.value("net_gwaddr").toString()); ui.lineEdit_34->setText(iniFile.value("net_maskaddr").toString()); iniFile.endGroup(); } 3、设置值 QSettings iniFile(".\config.ini", QSettings::IniFormat);//参数1,代表新建ini文件的位置的绝对路径; 参数2,将设置存储在ini文件中 iniFile.setIniCodec(QTextCodec::codecForName("GB2312")); //解决读取value值的中文乱码问题 QString tempStr = QString("car_%1").arg(ui.comboBox_3->currentIndex() + 1); iniFile.beginGroup(tempStr); iniFile.setValue("net_port", ui.lineEdit_31->text()); //端口 iniFile.setValue("net_server_ip", ui.lineEdit_83->text()); //服务器ip iniFile.setValue("net_local_ip", ui.lineEdit_32->text()); //本地ip iniFile.setValue("net_gwaddr", ui.lineEdit_33->text()); //网关 iniFile.setValue("net_maskaddr", ui.lineEdit_34->text()); //子网掩码 iniFile.endGroup();
以上是关于QSetting的主要内容,如果未能解决你的问题,请参考以下文章