由于项目需要将数据保存文本地文件,因此需要设置一个保存路径,但是程序每次运行都会把之前的设置初始化一次,所以仅仅通过软件界面上的设置是不足以满足使用要求的。
因此需要将保存路径写入到注册表中。
Qt的注册表需要使用QSetings类。
创建注册表代码如下:
在类内(.h文件中)创建QSetings变量,注意是静态变量(在类内创建变量可以满足在类外对注册表进行修改的需求,直接在.cpp中创建并初始化则不能满足此需求)
static QSettings myset;
然后在.cpp文件中进行外部初始化
static QSettings myset("HKEY_CURRENT_USER\\Software\\SW",QSettings::NativeFormat);
第一个参数表明注册表路径,第二个参数指定QSettings使用的存储格式。
由于在程序中需要在多个代码块中使用myset,因此定义成一个全局变量。
向注册表中添加信息
QString curDir=QDir::currentPath(); QString aDir=QFileDialog::getExistingDirectory(this,"选择一个目录",curDir,QFileDialog::ShowDirsOnly); myset.setValue("savepath",aDir);
这段代码完成选择路径,并将路径写入注册表的功能。
读取注册表信息
QString str=setText(myset.value("savepath").toString());
至此简单的注册表写入就完成了,如果还需要写入别的信息,只需要如法炮制。