分类: WINDOWS
2012-04-09 09:58:17
原文地址:
1、用QSettings写注册表
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读注册表
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文件:
QSettings *ConfigIni = new QSettings("D:\\a.ini",QSettings::IniFormat,0); ConfigIni->setValue("/config/node1",ui->lineEdit->text()); delete ConfigIni;
4、用QSettings读ini文件:
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()做输入和输出了---------------------------------------------------------------------
m_nDevNo = nDevNo;
QString strTemp;
QString xmlPath = CSC_APP.m_strWorkPath + "/InitInfo.ini";
QSettings *mySetting = new QSettings(xmlPath,QSettings::IniFormat);
foreach (QString group, mySetting->childGroups())
{
mySetting->beginGroup(group);
foreach (QString key, mySetting->childKeys())
{
QTextCodec *codec=QTextCodec::codecForName("GBK");
QString outStr = codec->toUnicode(key.toLatin1());
if (outStr == "自描述语言")
{
if ( mySetting->value(key,"0").toInt() == 1)
ui.SelfDspLgu->setCurrentIndex(1);
else
ui.SelfDspLgu->setCurrentIndex(0);
}
if (outStr == "工作语言")
{
if ( mySetting->value(key,"0").toInt() == 1)
ui.WorkLgu->setCurrentIndex(1);
else
ui.WorkLgu->setCurrentIndex(0);
}
if (outStr == "离线工作")
{
if ( mySetting->value(key,"0").toInt() == 1)
ui.WorkMode->setCurrentIndex(1);
else
ui.WorkMode->setCurrentIndex(0);
}
if (outStr == "召唤自描述方式")
{
if ( mySetting->value(key,"0").toInt() == 1)
ui.SelfDspSource->setCurrentIndex(1);
else
ui.SelfDspSource->setCurrentIndex(0);
}
if (outStr == "组播地址")
{
strTemp = mySetting->value(key,"236.8.8.8").toString();
ui.GrpAddress->setText(strTemp);
}
if (outStr == "接收端口号")
{
strTemp = mySetting->value("接收端口号","2000").toString();
ui.RecPort->setText(strTemp);
}
if (outStr == "发送端口号")
{
strTemp = mySetting->value("发送端口号","2001").toString();
ui.TargetPort->setText(strTemp);
}
if (outStr == "启用本机地址")
{
strTemp = mySetting->value(key,"0").toString();
}
if (outStr == "本机地址")
{
strTemp = mySetting->value(key,"0").toString();
ui.LocalIp->setText(strTemp);
}
if (outStr == "装置名称")
{
strTemp = mySetting->value(key,"0").toString();
ui.EqpName->setText(strTemp);
}
if (outStr == "装置地址")
{
strTemp = mySetting->value(key,"0").toString();
ui.EqpAddress->setText(strTemp);
}
if (outStr == "装置IP")
{
strTemp = mySetting->value(key,"0").toString();
ui.TargetIp->setText(strTemp);
}
}
mySetting->endGroup();