区块链技术博客
www.b2bchain.cn

工欲善其事系列之二:超级简便的 Qt 读写 INI 配置方案求职学习资料

本文介绍了工欲善其事系列之二:超级简便的 Qt 读写 INI 配置方案求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

  • 工欲善其事系列简介
  • 前言
  • Qt 自带 INI 文件读写类使用方法
  • 常规封装操作 INI 文件方案
  • include

工欲善其事系列简介

常言道:工欲善其事,必先利其器!
在效率第一的现在,有一些好的工具,势必事半功倍。
在代码中,时常有大量且重复的东西要加入,我们应该尽可能多的将时间、经历放在技术中。
有时候前进一小步,在大量的工作中节省的时间就很可观了。
这也是我做这的初衷,并且在此过程中,还能巩固一些知识。希望能够帮助到大家。

工欲善其事系列将会陆续分享一些关于我常用到的工具,干货满满,欢迎大家关注。

前言

INI 文件作为最常用的配置文件之一,经常出现在各种程序中。
在效率第一的现在,如何能方便简洁并高效的搞定这些数据读写?

本文将会分享一份关于 Qt 的方案。(有兴趣的小伙伴可以在此基础知识轻松扩展)

这篇文章中涉及到的东西是在以后文章中可能出现的头文件之一,命名为:“inier.h”

  • 定义 INI 配置文件方式如下:
// datIni.h 文件  #include "inier.h"                              // 本文将要实现的  // 加载定义 INI 文件开始 INI_BEGIN("./dat.ini")                          // 操作的文件路径  // user 段 INI_PARAM(user, QString, Name, "Ann")           // 依次是:段名,数据类型,数据名称,默认值 INI_PARAM(user, QString, Power, "123456") INI_PARAM(user, int, Authority, 1)  // test 段 INI_PARAM(test, int, Num, 15) INI_PARAM(test, double, Tem, 86.3) INI_PARAM(test, bool, IsOk, true)  ...  // 添加各种需要的数据  // 加载定义 INI 文件结束 INI_END
  • 使用方式如下
#include <QApplication> #include "logger.h"  // 见《工欲善其事系列之一》 #include "datIni.h"  // 上面定义的头文件  int main(int argc, char **argv) {     QApplication app(argc, argv);     // get 对应的参数,并打印     logDebug(ini.getName(), ini.getPower(), ini.getAuthority(), ini.getNum(), ini.getTem(), ini.getIsOk());      // set 参数     ini.setName("Judi");     ini.setPower("admin");     ini.setTem(63.5);     ini.setIsOk(false);      // get 对应的参数,并打印     logDebug(ini.getName(), ini.getPower(), ini.getAuthority(), ini.getNum(), ini.getTem(), ini.getIsOk());      return 0; }
  • 生成的数据文件

[user]
Name=Judi
Power=admin

[test]
Tem=63.5
IsOk=false

Qt 自带 INI 文件读写类使用方法

Qt中自带的读写类是 QSettings. 读写 INI 文件方式如下:

  • 读 INI 文件
#include <QCoreApplication> #include <QSettings>  int main(int argc, char *argv[]) {     QCoreApplication a(argc, argv);      //QSettings构造函数的第一个参数是ini文件的路径,第二个参数表示针对ini文件,第三个参数可以缺省     QSettings ini("./dat.ini", QSettings::IniFormat);     // 第二个参数是缺省值,如果文件还没创建或者不存在该参数值是,则用缺省值     qDebug() << ini.value("user/Name", "Judi").toString();       qDebug() << ini.value("user/Power", "admin").toString();     qDebug() << ini.value("user/Authority", "2").toInt();      return 0; }
  • 写 INI 文件
#include <QCoreApplication> #include <QSettings>  int main(int argc, char *argv[]) {     QCoreApplication a(argc, argv);      //QSettings构造函数的第一个参数是ini文件的路径,第二个参数表示针对ini文件,第三个参数可以缺省     QSettings ini("./dat.ini", QSettings::IniFormat);     ini.setValue("user/Name", "Judi");     ini.setValue("user/Power", "admin");     ini.setValue("user/Authority", "2");      return 0; }

然而在非常简单些项目里面,像这样写,确实很方便!
但是如果设置的参数很多,不同的位置都要进行读取参数,这样做就会很容易出错。
毕竟如果一个字符串打错了,编译不会报错,那样就很难发现bug!
所以一般会对操作配置文件进行封装。

常规封装操作 INI 文件方案

常见的操作 INI 类经常会这样:
“`

include

class CIni
{
public:
CIni()
{
m_setter = new QSettings(“./dat.ini”, QSettings::IniFormat);

    m_a = m_setter->value("user/a", 0).toInt();     m_b = m_setter->value("user/b", 0).toFloat();     ...   }  ~CIni() {delete m_setter;}  // user int a() const { return m_a; } void setA(int a)  {     if (m_a == a) return;     m_a = a;     m_setter->setValue("user/a", a); }   float b() const { return m_b; }

  • 工欲善其事系列简介
  • 前言
  • Qt 自带 INI 文件读写类使用方法
  • 常规封装操作 INI 文件方案
  • include

工欲善其事系列简介

常言道:工欲善其事,必先利其器!
在效率第一的现在,有一些好的工具,势必事半功倍。
在代码中,时常有大量且重复的东西要加入,我们应该尽可能多的将时间、经历放在技术中。
有时候前进一小步,在大量的工作中节省的时间就很可观了。
这也是我做这的初衷,并且在此过程中,还能巩固一些知识。希望能够帮助到大家。

工欲善其事系列将会陆续分享一些关于我常用到的工具,干货满满,欢迎大家关注。

前言

INI 文件作为最常用的配置文件之一,经常出现在各种程序中。
在效率第一的现在,如何能方便简洁并高效的搞定这些数据读写?

本文将会分享一份关于 Qt 的方案。(有兴趣的小伙伴可以在此基础知识轻松扩展)

这篇文章中涉及到的东西是在以后文章中可能出现的头文件之一,命名为:“inier.h”

  • 定义 INI 配置文件方式如下:
// datIni.h 文件  #include "inier.h"                              // 本文将要实现的  // 加载定义 INI 文件开始 INI_BEGIN("./dat.ini")                          // 操作的文件路径  // user 段 INI_PARAM(user, QString, Name, "Ann")           // 依次是:段名,数据类型,数据名称,默认值 INI_PARAM(user, QString, Power, "123456") INI_PARAM(user, int, Authority, 1)  // test 段 INI_PARAM(test, int, Num, 15) INI_PARAM(test, double, Tem, 86.3) INI_PARAM(test, bool, IsOk, true)  ...  // 添加各种需要的数据  // 加载定义 INI 文件结束 INI_END
  • 使用方式如下
#include <QApplication> #include "logger.h"  // 见《工欲善其事系列之一》 #include "datIni.h"  // 上面定义的头文件  int main(int argc, char **argv) {     QApplication app(argc, argv);     // get 对应的参数,并打印     logDebug(ini.getName(), ini.getPower(), ini.getAuthority(), ini.getNum(), ini.getTem(), ini.getIsOk());      // set 参数     ini.setName("Judi");     ini.setPower("admin");     ini.setTem(63.5);     ini.setIsOk(false);      // get 对应的参数,并打印     logDebug(ini.getName(), ini.getPower(), ini.getAuthority(), ini.getNum(), ini.getTem(), ini.getIsOk());      return 0; }
  • 生成的数据文件

[user]
Name=Judi
Power=admin

[test]
Tem=63.5
IsOk=false

Qt 自带 INI 文件读写类使用方法

Qt中自带的读写类是 QSettings. 读写 INI 文件方式如下:

  • 读 INI 文件
#include <QCoreApplication> #include <QSettings>  int main(int argc, char *argv[]) {     QCoreApplication a(argc, argv);      //QSettings构造函数的第一个参数是ini文件的路径,第二个参数表示针对ini文件,第三个参数可以缺省     QSettings ini("./dat.ini", QSettings::IniFormat);     // 第二个参数是缺省值,如果文件还没创建或者不存在该参数值是,则用缺省值     qDebug() << ini.value("user/Name", "Judi").toString();       qDebug() << ini.value("user/Power", "admin").toString();     qDebug() << ini.value("user/Authority", "2").toInt();      return 0; }
  • 写 INI 文件
#include <QCoreApplication> #include <QSettings>  int main(int argc, char *argv[]) {     QCoreApplication a(argc, argv);      //QSettings构造函数的第一个参数是ini文件的路径,第二个参数表示针对ini文件,第三个参数可以缺省     QSettings ini("./dat.ini", QSettings::IniFormat);     ini.setValue("user/Name", "Judi");     ini.setValue("user/Power", "admin");     ini.setValue("user/Authority", "2");      return 0; }

然而在非常简单些项目里面,像这样写,确实很方便!
但是如果设置的参数很多,不同的位置都要进行读取参数,这样做就会很容易出错。
毕竟如果一个字符串打错了,编译不会报错,那样就很难发现bug!
所以一般会对操作配置文件进行封装。

常规封装操作 INI 文件方案

常见的操作 INI 类经常会这样:
“`

include

class CIni
{
public:
CIni()
{
m_setter = new QSettings(“./dat.ini”, QSettings::IniFormat);

    m_a = m_setter->value("user/a", 0).toInt();     m_b = m_setter->value("user/b", 0).toFloat();     ...   }  ~CIni() {delete m_setter;}  // user int a() const { return m_a; } void setA(int a)  {     if (m_a == a) return;     m_a = a;     m_setter->setValue("user/a", a); }   float b() const { return m_b; }

  • 工欲善其事系列简介
  • 前言
  • Qt 自带 INI 文件读写类使用方法
  • 常规封装操作 INI 文件方案
  • include

工欲善其事系列简介

常言道:工欲善其事,必先利其器!
在效率第一的现在,有一些好的工具,势必事半功倍。
在代码中,时常有大量且重复的东西要加入,我们应该尽可能多的将时间、经历放在技术中。
有时候前进一小步,在大量的工作中节省的时间就很可观了。
这也是我做这的初衷,并且在此过程中,还能巩固一些知识。希望能够帮助到大家。

工欲善其事系列将会陆续分享一些关于我常用到的工具,干货满满,欢迎大家关注。

前言

INI 文件作为最常用的配置文件之一,经常出现在各种程序中。
在效率第一的现在,如何能方便简洁并高效的搞定这些数据读写?

本文将会分享一份关于 Qt 的方案。(有兴趣的小伙伴可以在此基础知识轻松扩展)

这篇文章中涉及到的东西是在以后文章中可能出现的头文件之一,命名为:“inier.h”

  • 定义 INI 配置文件方式如下:
// datIni.h 文件  #include "inier.h"                              // 本文将要实现的  // 加载定义 INI 文件开始 INI_BEGIN("./dat.ini")                          // 操作的文件路径  // user 段 INI_PARAM(user, QString, Name, "Ann")           // 依次是:段名,数据类型,数据名称,默认值 INI_PARAM(user, QString, Power, "123456") INI_PARAM(user, int, Authority, 1)  // test 段 INI_PARAM(test, int, Num, 15) INI_PARAM(test, double, Tem, 86.3) INI_PARAM(test, bool, IsOk, true)  ...  // 添加各种需要的数据  // 加载定义 INI 文件结束 INI_END
  • 使用方式如下
#include <QApplication> #include "logger.h"  // 见《工欲善其事系列之一》 #include "datIni.h"  // 上面定义的头文件  int main(int argc, char **argv) {     QApplication app(argc, argv);     // get 对应的参数,并打印     logDebug(ini.getName(), ini.getPower(), ini.getAuthority(), ini.getNum(), ini.getTem(), ini.getIsOk());      // set 参数     ini.setName("Judi");     ini.setPower("admin");     ini.setTem(63.5);     ini.setIsOk(false);      // get 对应的参数,并打印     logDebug(ini.getName(), ini.getPower(), ini.getAuthority(), ini.getNum(), ini.getTem(), ini.getIsOk());      return 0; }
  • 生成的数据文件

[user]
Name=Judi
Power=admin

[test]
Tem=63.5
IsOk=false

Qt 自带 INI 文件读写类使用方法

Qt中自带的读写类是 QSettings. 读写 INI 文件方式如下:

  • 读 INI 文件
#include <QCoreApplication> #include <QSettings>  int main(int argc, char *argv[]) {     QCoreApplication a(argc, argv);      //QSettings构造函数的第一个参数是ini文件的路径,第二个参数表示针对ini文件,第三个参数可以缺省     QSettings ini("./dat.ini", QSettings::IniFormat);     // 第二个参数是缺省值,如果文件还没创建或者不存在该参数值是,则用缺省值     qDebug() << ini.value("user/Name", "Judi").toString();       qDebug() << ini.value("user/Power", "admin").toString();     qDebug() << ini.value("user/Authority", "2").toInt();      return 0; }
  • 写 INI 文件
#include <QCoreApplication> #include <QSettings>  int main(int argc, char *argv[]) {     QCoreApplication a(argc, argv);      //QSettings构造函数的第一个参数是ini文件的路径,第二个参数表示针对ini文件,第三个参数可以缺省     QSettings ini("./dat.ini", QSettings::IniFormat);     ini.setValue("user/Name", "Judi");     ini.setValue("user/Power", "admin");     ini.setValue("user/Authority", "2");      return 0; }

然而在非常简单些项目里面,像这样写,确实很方便!
但是如果设置的参数很多,不同的位置都要进行读取参数,这样做就会很容易出错。
毕竟如果一个字符串打错了,编译不会报错,那样就很难发现bug!
所以一般会对操作配置文件进行封装。

常规封装操作 INI 文件方案

常见的操作 INI 类经常会这样:
“`

include

class CIni
{
public:
CIni()
{
m_setter = new QSettings(“./dat.ini”, QSettings::IniFormat);

    m_a = m_setter->value("user/a", 0).toInt();     m_b = m_setter->value("user/b", 0).toFloat();     ...   }  ~CIni() {delete m_setter;}  // user int a() const { return m_a; } void setA(int a)  {     if (m_a == a) return;     m_a = a;     m_setter->setValue("user/a", a); }   float b() const { return m_b; }

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 工欲善其事系列之二:超级简便的 Qt 读写 INI 配置方案求职学习资料
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们