Получить имя файла из QFile? - PullRequest
46 голосов
/ 06 сентября 2010

Например:

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

Как получить только имя файла - "image.jpg"?

Ответы [ 3 ]

89 голосов
/ 06 сентября 2010

Используйте QFileInfo, чтобы убрать путь (если есть):

QFileInfo fileInfo(f.fileName());
QString filename(fileInfo.fileName());
13 голосов
/ 06 сентября 2010

Один подход, не обязательно лучший: от QFile вы можете получить спецификацию файла с QFile::fileName():

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

тогда вы можете просто использовать строковые функции, такие как QString::split:

QStringList parts = str.split("/");
QString lastBit = parts.at(parts.size()-1);
8 голосов
/ 21 января 2014

просто дополнительно: для разделения имени файла и пути к файлу, имеющего QFile f

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

вам не нужно создавать дополнительный файлInfo.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...