c++ - 保存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;
}
解决方案
假设 _std::string jsonfile 和QLabel *text是EditWindow的成员,请使用QFileInfo执行以下操作:
...
jsonfile.assign(...); // this is where you set the value of jsonfile
QFileInfo fi(QString::fromStdString(jsonfile));
text->setText(fi.path());
...
那应该可以工作,但是您可以尝试使用不同的QFileInfo方法来显示不同的信息。
推荐阅读
- r - 安装包时的非零退出状态
- python - 如何在python3.7上安装tensorflow
- java - java中的多级继承
- javascript - 下拉菜单一次打开一次
- java - 在android studio中使变量倒计时x时间
- woocommerce - 在 Woocommerce 中显示平均评分时避免 NAN 结果错误
- node.js - Blubird catch 中的自定义错误扩展类不起作用
- android - Kotlin:将地图转换为任何对象
- apache-kafka - 每次轮询之间的延迟时间是多少
- xml - 如何在 FXML/XML 中表示幂和指数,例如 Unicode 字符“上标二”?