前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >QSettings读写ini配置文件

QSettings读写ini配置文件

作者头像
ccf19881030
发布2020-03-02 14:53:12
7740
发布2020-03-02 14:53:12
举报
文章被收录于专栏:ccf19881030的博客ccf19881030的博客

Qt中使用QSettings类读取ini后缀的配置文件非常简单,使用该类也可以很简单的操作Windows注册表。以前也使用过MFC中的WritePrivateProfileString()和GetPrivateProfileString()这两个API操作ini配置文件。

使用QSettings类读写ini配置文件的示例代码

相关代码如下:

代码语言:javascript
复制
// test.cpp
#include <QCoreApplication>
#include <QSettings>
#include <iostream>
#include <QDebug>
using namespace std;
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QString fileName;
    fileName = QCoreApplication::applicationDirPath();
    fileName += "/config/net.ini";
    QSettings settings(fileName, QSettings::IniFormat);
    // 设置服务器的ip和端口信息
    settings.beginGroup("server");
    settings.setValue("ip", "192.168.1.120");
    settings.setValue("port", 10001);
    settings.endGroup();
    // 设置数据库连接信息
    settings.beginGroup("dbInfo");
    settings.setValue("dbSource", "MySQL");
    settings.setValue("host", "15.15.0.216");
    settings.setValue("port", 9011);
    settings.setValue("username", "root");
    settings.setValue("password", "123456");
    settings.setValue("dbName", "HBHazeDB");
    settings.endGroup();
    // 读取ini文件
    settings.setIniCodec("UTF8");  // 设置编码方式  --->解析ini配置文件中的文字问题
    // 获取server分组下的ip和端口信息
    settings.beginGroup("server");
    QString strIp = settings.value("ip").toString();
    int port = settings.value("port").toInt();
    settings.endGroup();
    // 获取dbInfo分组下的数据库连接信息
    settings.beginGroup("dbInfo");
    QString dbSource = settings.value("dbSource").toString();
    QString host = settings.value("host").toString();
    int dbPort = settings.value("port").toInt();
    QString username = settings.value("username").toString();
    QString password = settings.value("password").toString();
    QString dbName = settings.value("dbName").toString();
    settings.endGroup();
    qDebug() << "server info:[" << "ip:" << strIp << ",port:" << port << "]";
    qDebug() << "dbInfo:[" << "dbSource:" << dbSource << ",host:" << host <<
                ",dbPort:" << dbPort << ",username:" << username
             << ",password:" << password << ",dbName:" << dbName << "]";
    return a.exec();
}
### 对应的net.ini配置文件如下:
[server]
ip=192.168.1.120
port=10001
[dbInfo]
dbSource=MySQL
host=15.15.0.216
port=9011
username=root
password=123456
dbName=HBHazeDB

参考文章

1、QSettings读写注冊表、配置文件

2、QSettings官方文档

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-01-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档