web-dev-qa-db-fra.com

Obtenir le nom de fichier de QFile?

par exemple:

QFile f("/home/umanga/Desktop/image.jpg");

Comment puis-je obtenir uniquement le nom de fichier - "image.jpg"?

47

Utilisez un QFileInfo pour supprimer le chemin (le cas échéant):

QFileInfo fileInfo(f.fileName());
QString filename(fileInfo.fileName());
90
Arnold Spence

Une approche, pas nécessairement la meilleure: à partir d'un QFile, vous pouvez obtenir la spécification du fichier avec QFile::fileName() :

QFile f("/home/umanga/Desktop/image.jpg");
QString str = f.fileName();

alors vous pouvez simplement utiliser les fonctionnalités de chaîne comme QString::split :

QStringList parts = str.split("/");
QString lastBit = parts.at(parts.size()-1);
13
paxdiablo

juste en plus: pour séparer le nom de fichier et le chemin de fichier ayant QFile f

QString path = f.fileName();
QString file = path.section("/",-1,-1);
QString dir = path.section("/",0,-2);

vous n'avez pas besoin de créer un fichierInfo supplémentaire.

8
refuzee