为什么说是正确的文件名呢?因为在实际编程中,我们发现,getOpenFileName这个方法获取的文件名往往带有路径,比如我想获得的文件名是abc.doc,可是调用在这个函数获得的确实是C:\abd.doc,我们一般都是觉得获取好像错误了。那么怎么才能获取到真正的文件名?其实只要稍微转动一下脑筋,改变思路。
我们采取以下方法:
QString fileFull, fileName, filePath,fileSuffix ;
QFileInfo fileinfo;
//获取整个文件名
fileFull = QFileDialog::getOpenFileName(this,"正确文件名");
//获取文件信息
fileinfo = QFileInfo(fileFull);
//获取文件名字
fileName = fileinfo.fileName();
//获取文件后缀
fileSuffix = fileinfo.suffix();
//获取文件绝对路径
filePath = fileinfo.absolutePath();
也就是说,先把getOpenFile获取的文件,利用QFileInfo进行分解,从而获得正确的文件名、后缀和绝对路径。