QSettings读写注册表和ini文件

来源:互联网 发布:陈冠希道歉 知乎 编辑:程序博客网 时间:2024/05/28 18:43

http://blog.csdn.net/yhf365/article/details/4166645

QT是个跨平台的库,而注册表是Windows上特有的

刚才上网查Qt怎么操作注册表,可网上几乎找不到什么东西。就去查Qt文档,摸索了一会儿,总算摸索出来了。相当简单。竟比Delphi还简单,比起VC就更不用提了。需要#include <QSettings>

    只举几个简单的例子:

1、用QSettings写注册表

[cpp] view plaincopy
  1. QSettings *reg = new QSettings("HKEY_CURRENT_USER//Software//yinhaifan",  
  2.                     QSettings::NativeFormat);  
  3.     reg->setValue("registered",true);  
  4.     delete reg;  

当然reg->setValue还可以写入字符串,整型之类的数据。

比如reg->setValue("registered","yes");

2、用QString读注册表

[cpp] view plaincopy
  1. QSettings *reg = new QSettings("HKEY_CURRENT_USER//Software//yinhaifan",  
  2.                 QSettings::NativeFormat);  
  3. if (reg->value("registered",false).toBool())  
  4. {  
  5.     QMessageBox::information(NULL,"information","registered");  
  6. }  
  7. delete reg;  

还可以toInt(),toString()等。

3、用QSettings写ini文件:

[cpp] view plaincopy
  1. QSettings *ConfigIni = new QSettings("D://a.ini",QSettings::IniFormat,0);  
  2. ConfigIni->setValue("/config/node1",ui->lineEdit->text());  
  3. delete ConfigIni;  

4、用QSettings读ini文件:

[cpp] view plaincopy
  1. QSettings *ConfigIni = new QSettings("D://a.ini",QSettings::IniFormat,0);  
  2. ui->lineEdit_2->setText(ConfigIni->value("/config/node1","20").toString());  
  3. delete ConfigIni;  

  这几段代码都是我在Qt Creator里面写的,所以用ui->lineEdit*->text()和ui->lineEdit*->setText()做输入和输出了。

  在文档中的QSettings Class Reference部分讲的很清楚,在这里我就不多说了。也该睡觉了~

0 0