QT项目日记——使用QSetting区分导入的文件是否符合要求(不是区分后缀名)

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;
        }

这个需求没什么复杂的,主要是自己脑子一直没转过弯来。

以后遇到文本类型的文件,需要进行一些类型的匹配的话,可以采用这种形式,用键值对的形式来保存。

这样既能保存需要进行匹配的标识,也能保存主要的内容。

你可能感兴趣的:(Qt)