Qt读写配置(ini)文件
创始人
2024-11-14 08:05:50
0

本文介绍Qt读写配置(ini)文件。

1.配置文件(ini)简介

配置文件(ini)也叫ini文件(Initialization File),即初始化文件。它由节名,键名,键值构成。其文件构成如下:

[Student] name=Bob sex=male age=16

其中,

1)[Student]为节名

2)name为键名,Bob为键值,它俩由“=”连接起来组成键值对。

2.使用QSetting类读写配置文件

Qt采用QSetting类对配置(ini)文件进行操作(建立,读,写)。

1)建立

指定文件名(需给出路径,相对路径或绝对路径)即可,代码如下:

QSettings *settings; settings = new QSettings("Config.ini", QSettings::IniFormat);

2)读操作

读操作指定节名和键名即可,因value返回的是QVariant类型。需要根据实际使用情况转换为相应的类型,如这里转换成了String类型。代码如下:

settings->value("Student/name").toString();

3)写操作

写操作有2种方法,一种直接指定节名和键名,并给出键值即可。另一种可以先指定节名,然后再根据键名给出键值即可。

a)方法1

直接指定节名和键名,代码如下:

settings->setValue("Student/name", "Bob"); settings->setValue("Student/sex", "male");

b)方法2

先指定节名,然后再根据键名,给出键值,代码如下:

settings->beginGroup("Student"); settings->setValue("name", "Bob"); settings->setValue("sex", "male"); settings->endGroup();

3.参考源代码

这里给出一个以字符串为写入和读出的类,参考代码如下:

1)"Config.h"文件

#ifndef CONFIG_H #define CONFIG_H  #include  #include    class Config : public QObject {     Q_OBJECT public:     explicit Config(QObject *parent = nullptr);     ~Config();  public:     void setValue(const QString section, const QString key, const QString value);     QString getValue(const QString section, const QString key);  private:     QSettings *settings;  signals:  public slots: };  #endif // CONFIG_H 

2)"Config.cpp"文件

#include "config.h"  Config::Config(QObject *parent) : QObject(parent) {     settings = new QSettings("Config.ini", QSettings::IniFormat); }  Config::~Config() {     delete settings; }  void Config::setValue(const QString section, const QString key, const QString value) {     settings->beginGroup(section);     settings->setValue(key, value);     settings->endGroup(); }  QString Config::getValue(const QString section, const QString key) {     QString path = QString("%1/%2").arg(section).arg(key);      return settings->value(path).toString(); } 

总结,本文介绍了Qt读写配置(ini)文件。

相关内容

热门资讯

据公告内容!红龙poker辅助... 据公告内容!红龙poker辅助工具,hhpoker德州挂真的有吗,总是真的有挂(有挂透明挂)1、许多...
今天下午!wepoker有人用... 今天下午!wepoker有人用过吗,哈糖大菠萝有挂吗,一直确实有挂(真是有挂)1、下载好哈糖大菠萝有...
黑科技辅助挂!aapoker能... 黑科技辅助挂!aapoker能控制牌吗,德普之星透视辅助插件,竟然真的有挂(有挂细节)1、超多福利:...
教学辅助挂!wpk免费辅助,约... 教学辅助挂!wpk免费辅助,约局吧作弊脚本,都是是真的有挂(竟然有挂)1、全新机制【约局吧作弊脚本a...
为切实保障!wepoker底牌... 为切实保障!wepoker底牌透视,wepoker辅助器有哪些功能,确实真的有挂(有挂分析)1、为切...
插件辅助挂!wepoker代打... 插件辅助挂!wepoker代打辅助,hhpoker哪个俱乐部靠谱,总是真的是有挂(真实有挂)1、hh...
2026版教程!德普之星辅助器... 2026版教程!德普之星辅助器怎么用,约局吧开挂神器是真的吗,真是确实有挂(有挂详细)1、实时约局吧...
备受关注的!pokemmo手机... 备受关注的!pokemmo手机脚本,wpk可以作弊吗,总是真的是有挂(有挂技巧)该软件可以轻松地帮助...
今日!wejoker辅助软件价... 今日!wejoker辅助软件价格,hhpoker是真的还是假的,总是是有挂(有挂工具)1、上手简单,...
出现新变化!拱趴大菠萝挂怎么安... 出现新变化!拱趴大菠萝挂怎么安装,hhpoker德州作弊,一直是有挂(有挂助手)1、拱趴大菠萝挂怎么...