QString fileName, filePath,fileSuffix;
QString fullPath = QFileDialog::getOpenFileName(this,.....);
QFileInfo fileInfo = QFileInfo(fullPath);
//文件名
fileName = fileInfo.fileName();
//文件后缀
fileSuffix = fileInfo.suffix()
//绝对路径
filePath = fileInfo.absolutePath();
QFileInfo的其他函数扩展:
QFileInfo l_info("./Resources/Config/Version.ini");
QString l_str;
//绝对路径文件夹地址,不包含文件名称
l_str = l_info.absoluteDir().path();//E:/App/Resources/Config
//绝对路径包含文件
l_str = l_info.absoluteFilePath();//E:/App/Resources/Config/Version.ini
//绝对路径不包含文件
l_str = l_info.absolutePath();//E:/App/Resources/Config
//文件名
l_str = l_info.baseName();//Version
//文件的路径规范路径包括文件名,即没有符号链接或冗余“.”或“..”元素的绝对路径
l_str = l_info.canonicalFilePath();//E:/App/Resources/Config/Version.ini
//文件的路径规范路径(不包括文件名),即没有符号链接或冗余“.”或“..”元素的绝对路径
l_str = l_info.canonicalPath();//E:/App/Resources/Config
//完整的基名由文件中的所有字符组成,直到(但不包括)最后一个“.”字符
l_str = l_info.completeBaseName();//Version
//完整的后缀由文件中第一个“.”之后(但不包括)的所有字符组成
l_str = l_info.completeSuffix();//ini
//文件夹路径
l_str = l_info.dir().path();//./Resources/Config
//文件名
l_str = l_info.fileName();//Version.ini
//提供的文件路径带文件
l_str = l_info.filePath();//./Resources/Config/Version.ini
//文件夹路径
l_str = l_info.path();//./Resources/Config
//文件后缀
l_str = l_info.suffix();//ini
如果是路径带多个后缀的对比
QFileInfo l_info("./Resources/Config/Abc.tar.gz");
QString l_str;
l_str = l_info.absoluteDir().path();//E:/App/Resources/Config
//据对路径包含文件
l_str = l_info.absoluteFilePath();//E:/App/Resources/Config/Abc.tar.gz
//绝对路径不包含文件
l_str = l_info.absolutePath();//E:/App/Resources/Config
//文件名
l_str = l_info.baseName();//Abc
//文件的路径规范路径包括文件名,即没有符号链接或冗余“.”或“..”元素的绝对路径
l_str = l_info.canonicalFilePath();//E:/App/Resources/Config/Abc.tar.gz
//文件的路径规范路径(不包括文件名),即没有符号链接或冗余“.”或“..”元素的绝对路径
l_str = l_info.canonicalPath();//E:/App/Resources/Config
//完整的基名由文件中的所有字符组成,直到(但不包括)最后一个“.”字符
l_str = l_info.completeBaseName();//Abc.tar
//完整的后缀由文件中第一个“.”之后(但不包括)的所有字符组成
l_str = l_info.completeSuffix();//tar.gz
l_str = l_info.dir().path();//./Resources/Config
//文件名
l_str = l_info.fileName();//Abc.tar.gz
//提供的文件路径带文件
l_str = l_info.filePath();//./Resources/Config/Abc.tar.gz
l_str = l_info.path();//./Resources/Config
l_str = l_info.suffix();//gz