qt4.0一个非常有用的类QSettings

QSettings是qt4.0提供的一个读取配置文件的类,在windows平台,它提供了ini文件读些,注册表读写的功能。

而且使用也非常简单。大家可以参照它的示例:$QTDIR/examples/tools/settingseditor

我就简单点随便介绍介绍它的使用吧

QSettings::Format有两种:

QSettings::NativeFormat在windows平台可以读写windows注册表.

QSettings::IniFormat可以读写ini格式的配置文件

在Unix/X11平台下这两个Format效果是一样的:(

1.读写注册表

//注意的就是路径名必须是"/"而不是"//"等.否则不能读写,同时注意

//Format为QSettings::NativeFormat

QSettings *settings = new QSettings("HKEY_CURRENT_USER/", QSettings::NativeFormat);

//写HKEY_CURRENT_USER/regedit/test,设置test值为red

settings->setValue("regedit/test", "red");

//读 HKEY_CURRENT_USER/regedit/test,默认值是ddd

QString value = settings->value("regedit/test", "ddd").toString();

删除设置对应的是settings->remove( const QString & key )

2.读取ini配置文件

ini文件格式如下:

[Alpha]

Beta/Beta=1, 3, 4

Beta/Gamma=2

Beta/Delta=1111

Beta/Epsilon=5

Iota=7

Omicron=11

QSettings *settings = new QSettings(fileName, QSettings::IniFormat);

//写Beta/Beta

settings->setValue("Alpha/Beta/Beta", 68);

其他和读写注册表差不多,我就懒得写了

发觉QT4读写的这种配置,即可兼容windows下的ini文件,同时它的功能也比windows API所提供的功能强.

//这是中文化的文章:----------------------------------------------------------------------------------------------

http://blog.csdn.net/eastfind/archive/2009/01/15/3785060.aspx

说句实话,关于这个类(QSETTINGS)的摸索,只有一个字形容“累”

出于对国际化的考虑,QT的UNICODE支持非常出色,但是,对于中文的支持,还是有点繁琐的。

废话少说,国际惯例

1.运行环境

QT CREATOR 0.9(BETA) //QT的官方IDE,界面不错,还算实用

MINGW编译器(QT CREATOR 自带)

WINXP SP3 QT4.4.3 OPEN SOURCE 版本

2.INI文件模式

[我的资料]

我的博客=www.我的博客.com

3.代码解析

QString myfile = "../1.ini";   //设定INI文件

QSettings *mySetting = new QSettings(myfile,QSettings::IniFormat); //没有什么好解释的,用QSETTINGS的都知道

QByteArray myArray = mySetting->value("我的资料/我的博客","Default Value").toByteArray();

//这里是整个技术的核心!!通过实践证明,QSETTINGS是可以直接读取中文的QSTRING的,不过真正的意义在于把QSETTING的读取返回值放入到QByteArray中才是关键。

QTextCodec *codec=QTextCodec::codecForName("GBK"); //设定字符集为GBK(大小写均可,还可用GB18030代替)

QString outStr = codec->toUnicode(myArray); //这里就好解释了,通过译码器将字节数组中的值转化为UNICODE的QSTRING就O了

myEdit->setText(outStr); //呵呵,这句话是测试用的,我用的QLINEEDIT,其实用什么都无所谓的

qsettings删除注册表_QSettings读写ini文件和注册表相关推荐

  1. QSettings读写ini文件

    QSettings简介 QSettings类提供了持久的独立于平台的应用程序设置. 用户通常希望应用程序能够跨会话记住它的设置(窗口大小和位置,选项等).在Windows上,这些信息通常存储在系统注册 ...

  2. Qt使用QSettings读写ini文件

    Qt使用QSettings读写ini文件 文章目录 Qt使用QSettings读写ini文件 1. 前言 2. 示例及代码 1. 前言 在项目中有的配置不希望在界面中展示,只提供给实施运维人员来配置, ...

  3. QT QSettings读写ini文件简单dome

    QT QSettings读写ini文件 实现文件一键配置软件上的所有控件 1 ui设计Dome 两个按钮 (保存 导入) 两个spinbox(宽 高) 2 点击生成ini文件 或者点击导入ini文件 ...

  4. C# 读写Ini文件

    ini文件在Win95以前比较盛行,之后由于出册表等技术的出现,ini技术主键退居二线,不过对于一些小项目,读写ini文件还是很适用的. Windows API提供了读写配置文件的操作,在C#程序中只 ...

  5. 在.NET中读写INI文件 ——兼谈正则表达式的应用

    INI文件是Windows平台上的一种较常用的软件配置文件格式,Windows应用程序常常使用它来保存一些配置信息.它一般是由数个包含key-value对的Section组成,每个key-value对 ...

  6. C#学习笔记——读写ini文件

    1: using System; 2: using System.Collections.Generic; 3: using System.Linq; 4: using System.Text; 5: ...

  7. C#关于读写INI文件

    C#关于读写INI文件 什么是ini文件就是一个配置文件,一般把数据库等配置信息放进去,然而,改变数据库的密码,数据库名称,ip等,不要改源码重新编译,只需要用记事本打开set.ini 文件,修改保存 ...

  8. 在 WinCe 平台读写 ini 文件

    在上篇文章开发 windows mobile 上的今日插件时,我发现 wince 平台上不支持例如 GetPrivateProfileString 等相关 API 函数.在网络上我并没有找到令我满意的 ...

  9. 火山视窗读写ini文件,写配置项与读配置项使用

    本源码转载自利快云https://www.lkuaiy.com/ 火山视窗读写ini文件,写配置项与读配置项使用   为了方便操作首先简单的设计一个界面,放两个按钮和几个编辑框,用来写配置和读取配置. ...

最新文章

  1. JAVA中File类的使用
  2. Android开发之跨进程通讯-AIDL实现方法 (附源码)
  3. 阿里妈妈技术团队 6 篇论文入选 CIKM 2021
  4. 对计算机网络用户而言 掌握网络,计算机网络的特点
  5. 图片合成gif_谈谈有哪些好用的制作GIF的方式
  6. 自定义控件实现(转)
  7. SQL必知必会-检索数据
  8. MVC TIP7:自定义IHttpModule、IRouteHandler实现路由调试
  9. 基本排序看这篇就够了
  10. oracle rac 清理log,Oacle rac架构监听日志清理
  11. linux 自动执行脚本
  12. 非线性系统的神经网络控制(常用介绍)--理论
  13. 一文教你如何对接【支付宝】支付接口,网友:666啊!
  14. ASP.NET Core使用微软官方类库实现汉字简繁切换以及转拼音
  15. 计算机标准用户英文名称,标准计算机专业英文简历范文
  16. 课程项目:大学程序设计相关大作业汇总参考及源码地址
  17. Qt显示当前时间(年-月-日 时:分:秒 周几)
  18. 5G网络能力开放部署及关键技术方案
  19. Matlab 读取 pcd 文件
  20. 对SCI期刊的初步了解

热门文章

  1. Android获取手机图片
  2. 开发PowerPC嵌入式应用二进制接口(EABI)应该遵循的原则
  3. Golang操作阿里云视频点播服务上传音视频
  4. Android view动画之透明度动画
  5. Vue--vant-cell单元格组件跳转路由的三种方式
  6. then的格式及执行逻辑
  7. PIXIJS 文档说明
  8. GitHub 私有库免费后,一大波羊毛党正在赶来……
  9. Android逆向工程:针对HTML5开发的App如何下手?这就带你上车!
  10. 基础图像处理---图像读写/保存与基础图像绘制框架(纯C代码,不依赖任何第三方库)