1.需求
由于设备的不同,需要在导入文件的时候,区分文件是否和设备匹配。
PS:设备编号已经获取到,能够直接使用。
2.需求分析
通常导入文件的时候需要区分的只是文件的后缀名,至于文件的内容则是在使用的时候进行检查。
但是这次是需要在导入文件的过程中,进行对文件内容的检查,并获取其中的某个字段,跟设备类型进行匹配。
PS:文件内容为键值对类型,所以才能够使用QSetting来解决。
3.实现过程
//获取文件的路径
QString file=QFileDialog::getOpenFileName(this,tr("title"),"./",".txt");
//使用QSetting打开文件
QSettings setting(file,QSettings::IniFormat);
//获取文件中key为flag的值并转化为小写
QString flag=setting.value("flag").toString().toLower();
//判断,如果本地存储的设备标识和文件中的标识不匹配,则弹出提示框并中止运行
if(QSettings().value("FLAG").toString().toLower()!=flag){
QMessageBox::information(this,tr("Tip"),tr("The file does not match the device"),tr("Ok"));
return;
}
这个需求没什么复杂的,主要是自己脑子一直没转过弯来。
以后遇到文本类型的文件,需要进行一些类型的匹配的话,可以采用这种形式,用键值对的形式来保存。
这样既能保存需要进行匹配的标识,也能保存主要的内容。