使用QSetting类,有两种实现方式
(1)通过键值对
(2)通过组
1、添加依赖文件
#include
#include
2、头文件
bool WriteIniFile(const QString fileName="");
bool ReadIniFile(const QString fileName="");
2、源文件
bool Widget::WriteIniFile(const QString fileName/*=""*/)
{
QSettings * ini = new QSettings("config.ini", QSettings::IniFormat);//构造QSettings对象,访问ini文件
//方式1:键值对
ini->setValue("server/ip", "127.0.0.1");
ini->setValue("server/port", "7999");
ini->setValue("server/clientNumber", "8");
ini->setValue("server2/ip", "192.168.0.1");
ini->setValue("server2/port", "8000");
ini->setValue("server2/clientNumber", "10");
//方式2:组
ini->beginGroup("client");
ini->setValue("connectIp","127.0.0.1");
ini->setValue("connectPort","7999");
ini->endGroup();
ini->beginGroup("client2");
ini->setValue("connectIp2","192.168.0.1");
ini->setValue("connectPort2","8000");
ini->endGroup();
delete ini;
return true;
}
bool Widget::ReadIniFile(const QString fileName/*=""*/)
{
QSettings * ini = new QSettings("config.ini", QSettings::IniFormat);
//方式1:键值对
QString serverIp = ini->value("server/ip").toString();
int serverPort = ini->value("server/port").toInt();
int clientNumber = ini->value("server/clientNumber").toInt();
qDebug().nospace() << "server/serverIp=" << serverIp;
qDebug().nospace() << "server/serverPort=" << serverPort;
qDebug().nospace() << "server/clientNumber=" << clientNumber;
QString server2Ip = ini->value("server2/ip").toString();
int server2Port = ini->value("server2/port").toInt();
int client2Number = ini->value("server2/clientNumber").toInt();
qDebug().nospace() << "server2/serverIp=" << server2Ip;
qDebug().nospace() << "server2/serverPort=" << server2Port;
qDebug().nospace() << "server2/clientNumber=" << client2Number;
//方式2:组
//注意:需要从group中读出,否则将读不出来
ini->beginGroup("client");
QString connectIp = ini->value("connectIp", "").toString();
int connectPort = ini->value("connectPort", -1).toInt();
ini->endGroup();
qDebug().nospace() << "client: ";
qDebug().nospace() << "connectIp=" << connectIp;
qDebug().nospace() << "connectPort=" << connectPort;
ini->beginGroup("client2");
QString connect2Ip = ini->value("connectIp", "").toString();
int connect2Port = ini->value("connectPort", -1).toInt();
ini->endGroup();
qDebug().nospace() << "client2: ";
qDebug().nospace() << "connectIp=" << connect2Ip;
qDebug().nospace() << "connectPort=" << connect2Port;
delete ini;
return true;
}