将文件路径存储到QString [Qt]

时间:2016-03-07 15:28:23

标签: qt path filenames

我想通过对话文件打开文件,然后将文件路径存储到文本文件中。 问题是,当我使用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?

1 个答案:

答案 0 :(得分:1)

首先,为什么要混合使用Qt和FILE *而不直接使用QFile?

您可以执行以下操作来获取文件路径:

QString file = QFileInfo(filename).absoluteFilePath();

或者如果您只想要文件夹:

QString folder = QFileInfo(filename).absolutePath();

您似乎是C ++的新手。在调用该类型的函数之前,首先需要特定类型的对象。因此QFileInfo(filename)创建一个QFileInfo对象,然后.absoluteFilePath()在创建的对象上调用该函数。