我想通过对话文件打开文件,然后将文件路径存储到文本文件中。 问题是,当我使用absoluteFilePath()函数时,我得到一个错误。这是我的代码:
filename = QFileDialog::getOpenFileName(this, "Open File","*.H86;;*.glo");
//enregistrer le dernier chemin utilisé pour ouvrir un fichier
FILE* fichier = NULL;
fichier = fopen("LastPath.txt","w");
if(fichier != NULL)
{
QString filename_fichier_choisi = filename.QFileInfo::absoluteFilePath();
fputs(filename_fichier_choisi.toLatin1(),fichier);
//fichier->write(filename.toLatin1());
}
fclose(fichier);
我得到的错误是“QFileInfo不是QString的基础。 我可以使用哪个函数将路径作为String?
答案 0 :(得分:1)
首先,为什么要混合使用Qt和FILE *而不直接使用QFile?
您可以执行以下操作来获取文件路径:
QString file = QFileInfo(filename).absoluteFilePath();
或者如果您只想要文件夹:
QString folder = QFileInfo(filename).absolutePath();
您似乎是C ++的新手。在调用该类型的函数之前,首先需要特定类型的对象。因此QFileInfo(filename)
创建一个QFileInfo
对象,然后.absoluteFilePath()
在创建的对象上调用该函数。