QT读写.INI文件的实现方法

蓮花仙者
发布: 2025-09-02 08:54:18
原创
647人浏览过

一、ini文件的概念

INI文件,即Initialization File的缩写,是Windows系统配置文件的一种存储格式,用于管理Windows的各种配置。通常,用户可以通过Windows提供的图形化管理界面来进行相同的配置设置。然而,在某些特定情况下,直接编辑INI文件更为方便,这通常需要对Windows系统有较深入的了解。

二、QT中读写INI文件的基本方法

1、引入头文件

在使用QT进行INI文件的读写操作之前,需要包含相关的头文件:

#include <QSettings>
登录后复制

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,以便直接调用。以下是一个简单的示例:

三、示例实现

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QSettings>
#include <QDebug>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    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() << str;
}

MainWindow::~MainWindow()
{
    delete ui;
}

// 读取配置文件
QString MainWindow::readConfigIni(QString __keyRoot, QString __keyValue)
{
    QSettings *configIniRead = new QSettings(CONFIG_INI_NAME, QSettings::IniFormat);
    QString keyValue = "/" + __keyRoot + "/" + __keyValue;
    QString value = configIniRead->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文件的实现方法QT读写.INI文件的实现方法

如果现在提出一个新的需求,要求修改上述接口以实现任意类型参数的写入,使用重载机制还是模板来实现更合适?这个问题留给读者自行思考。

以上就是QT读写.INI文件的实现方法的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号