Qt读写注册表和ini文件

时间:2022-06-01 22:10:34

转自:http://blog.ednchina.com/frenkie/257019/message.aspx

 

需要#include <QSettings>

    只举几个简单的例子:

1、用QSettings写注册表

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

QSettings *reg = new QSettings("HKEY_CURRENT_USER//Software//yinhaifan", QSettings::NativeFormat); reg->setValue("registered",true); delete reg;

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

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

2、用QString读注册表

   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; 

QSettings *reg = new QSettings("HKEY_CURRENT_USER//Software//yinhaifan", QSettings::NativeFormat); if (reg->value("registered",false).toBool()) { QMessageBox::information(NULL,"information","registered"); } delete reg;

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

3、用QSettings写ini文件:

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

QSettings *ConfigIni = new QSettings("D://a.ini",QSettings::IniFormat,0); ConfigIni->setValue("/config/node1",ui->lineEdit->text()); delete ConfigIni;

4、用QSettings读ini文件:

   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; 

QSettings *ConfigIni = new QSettings("D://a.ini",QSettings::IniFormat,0); ui->lineEdit_2->setText(ConfigIni->value("/config/node1","20").toString()); delete ConfigIni;

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

   在文档中的QSettings Class Reference部分讲的很清楚