一、ini文件的概念
INI文件,即Initialization File的缩写,是Windows系统配置文件的一种存储格式,用于管理Windows的各种配置。通常,用户可以通过Windows提供的图形化管理界面来进行相同的配置设置。然而,在某些特定情况下,直接编辑INI文件更为方便,这通常需要对Windows系统有较深入的了解。
二、QT中读写INI文件的基本方法
1、引入头文件
在使用QT进行INI文件的读写操作之前,需要包含相关的头文件:
#include
2、写入INI文件
(1)定义一个QSettings指针对象,例如:
法语写作助手
法语助手旗下的AI智能写作平台,支持语法、拼写自动纠错,一键改写、润色你的法语作文。
31 查看详情
QSettings *configIniWrite;
(2)实例化对象,例如:
configIniWrite = new QSettings("INI", QSettings::IniFormat);
(3)写入INI文件
configIniWrite->setValue("/Setting/xxx", "100");
(4)释放对象的堆内存
delete configIniWrite;
3、读取INI文件
(1)定义一个QSettings指针对象,例如:
QSettings *configIniRead;
(2)实例化对象,例如:
configIniRead = new QSettings("INI", QSettings::IniFormat);
(3)获取INI文件中的键值,键值可以是字符串或其他类型(前提是,INI文件存在且文件名可以自定义),例如:
QString str = configIniRead->value("/Setting/xxx").toString();qDebug() << str;
我们可以将读写Config.ini的过程封装成两个API,以便直接调用。以下是一个简单的示例:
三、示例实现
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include #include #include namespace Ui {class MainWindow;}class MainWindow : public QMainWindow{ Q_OBJECTpublic: explicit MainWindow(QWidget *parent = 0); ~MainWindow();private: Ui::MainWindow *ui; void writeConfigIniForInt(QString __keyRoot, QString __keyValue, int value); QString readConfigIni(QString __keyRoot, QString __keyValue);};#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"#include "ui_mainwindow.h"#define CONFIG_INI_NAME "C:/Users/Administrator/Desktop/QT_study/Config.ini"MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); // 写入配置参数到 CONFIG_INI_NAME writeConfigIniForInt("SETTING", "VOL", 100); QString str = readConfigIni("SETTING", "VOL"); qDebug() <value(keyValue).toString(); delete configIniRead; return value;}// 写入配置文件void MainWindow::writeConfigIniForInt(QString __keyRoot, QString __keyValue, int value){ QSettings *configIniWrite = new QSettings(CONFIG_INI_NAME, QSettings::IniFormat); if (__keyRoot.isNull() || __keyValue.isNull()) { delete configIniWrite; return; } QString keyValue = "/" + __keyRoot + "/" + __keyValue; configIniWrite->setValue(keyValue, value); delete configIniWrite;}
运行结果将生成一个名为Config.ini的文件,并且能够读取到INI文件中存储的参数值为100。


如果现在提出一个新的需求,要求修改上述接口以实现任意类型参数的写入,使用重载机制还是模板来实现更合适?这个问题留给读者自行思考。
以上就是QT读写.INI文件的实现方法的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/386670.html
微信扫一扫
支付宝扫一扫