首页 > 解决方案 > 保存json文件后如何返回文件路径?

问题描述

我可以成功保存我创建的 json 文件,并且我知道它保存在哪个目录中,但我想将文件路径显示为文本显示。我被困在使用哪个 Qt 类和函数上。下面是我的 save_json() 函数:

void EditWindow::save_json()
{
    // update Plot vector
    for(size_t i = 0; i < plots.size(); i++)  {
        //update json object
        if(plots[i]->save_changes())  {
              // reload_nodes(i);
        }
    }

    /* Update json file
     *
     */
    cout<<"Json filename" <<jsonfile<<endl;
    QFile saveFile(QString::fromStdString(jsonfile));
    if (!saveFile.open(QIODevice::WriteOnly))  {

        qWarning("Couldn't open save file.");

    }

    QJsonArray plotsArray;
    for(size_t i = 0; i < plots.size(); i++){
        plotsArray.append(plots[i]->get_json_val());
    }

    QJsonDocument saveDoc(plotsArray);
    saveFile.write(saveDoc.toJson());
    setup_plot_list();
    cout<<"JSON FILE SAVED"<<endl;
}

标签: c++qt

解决方案


假设 _std::string jsonfile 和QLabel *textEditWindow的成员,请使用QFileInfo执行以下操作:

...
jsonfile.assign(...); // this is where you set the value of jsonfile
QFileInfo fi(QString::fromStdString(jsonfile));
text->setText(fi.path());
...

那应该可以工作,但是您可以尝试使用不同的QFileInfo方法来显示不同的信息。


推荐阅读