Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7553784
  • 博文数量: 961
  • 博客积分: 15795
  • 博客等级: 上将
  • 技术积分: 16612
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-07 14:23
文章分类

全部博文(961)

文章存档

2016年(1)

2015年(61)

2014年(41)

2013年(51)

2012年(235)

2011年(391)

2010年(181)

分类: 嵌入式

2013-11-18 15:16:16

Qt4.0中又增加了一个非常有用的类QSettings,这个类是Qt4提供的一个读取配置文件的类,在Windows平台上,它提供了ini文件的读写,以及注册表的读写功能。我们都知道,用户对于应用程序经常有某种需要,比如说:窗体的大小,出现的位置,以及最近打开的文件等等,而这些需求均可由QSettings类实现。

点击(此处)折叠或打开

  1. #include "systemconfig.h"


  2. QSettings *pConfigIni = NULL;

  3. /**
  4.  * 功 能:打开系统配置文件
  5.  * 开发人员:Lzy 2013 - 七夕
  6.  */
  7. bool openConfigFile(QString fileName)
  8. {
  9.     QString strFilename = QCoreApplication::applicationDirPath();
  10.     strFilename += "/" + fileName;

  11.     if(QFileInfo(strFilename).exists())
  12.     {
  13.         pConfigIni = new QSettings(strFilename, QSettings::IniFormat);
  14.         pConfigIni->setIniCodec(QTextCodec::codecForName("gb18030"));
  15.     }
  16.     else
  17.         return false;

  18.     return true;
  19. }

  20. /**
  21.  * 功 能:关闭系统配置文件
  22.  * 开发人员:Lzy 2013 - 七夕
  23.  */
  24. void closeConfigFile(void)
  25. {
  26.     delete pConfigIni;
  27.     pConfigIni = NULL;
  28.      sync();
  29. }

  30. /**
  31.  * 功 能:读字符串配置文件
  32.  * 开发人员:Lzy 2013 - 七夕
  33.  */
  34. QString ReadConfigStrParameter(QString strParameterName, QString strGroup)
  35. {
  36.     QString strParameter = "";
  37.     strParameterName = "/" + strGroup + "/" + strParameterName;
  38.     strParameter = pConfigIni->value(strParameterName).toString();
  39.     return strParameter;
  40. }

  41. /**
  42.  * 功 能:读整形串配置文件
  43.  * 开发人员:Lzy 2013 - 七夕
  44.  */
  45. int ReadConfigIntParameter(QString strParameterName, QString strGroup)
  46. {
  47.     int nParameter = -1;
  48.     strParameterName = "/" + strGroup + "/" + strParameterName;
  49.     nParameter = pConfigIni->value(strParameterName).toInt();

  50.     return nParameter;
  51. }

  52. /**
  53.  * 功 能:读浮点形串配置文件
  54.  * 开发人员:Lzy 2013 - 七夕
  55.  */
  56. double ReadConfigDoubleParameter(QString strParameterName, QString strGroup)
  57. {
  58.     double fParameter = 0;
  59.     strParameterName = "/" + strGroup + "/" + strParameterName;
  60.     fParameter = pConfigIni->value(strParameterName).toDouble();

  61.     return fParameter;
  62. }

  63. /**
  64.  * 功 能:参数写入配置文件
  65.  * 开发人员:Lzy 2013 - 七夕
  66.  */
  67. void SetConfigParameter(QString strParameterName, QString strParameter, QString strGroup)
  68. {
  69.     strParameterName = "/" + strGroup + "/" + strParameterName;
  70.     pConfigIni->setValue(strParameterName, strParameter);
  71. }

  72. /**
  73.  * 功 能:写入参数
  74.  * 开发人员:Lzy 2013 - 七夕
  75.  */
  76. void SC_WriteParam(QString name, QString value)
  77. {
  78.     openConfigFile(QString("sysconfig.ini"));
  79.     SetConfigParameter(name, value);
  80.     closeConfigFile();
  81. }

阅读(1723) | 评论(0) | 转发(0) |
0

上一篇:qt内置检验器类

下一篇:Qt 程序启动画面

给主人留下些什么吧!~~