QT中相对路径转成绝对路径

时间:2022-05-20 09:51:18

转载自http://hi.baidu.com/buptyoyo/blog/item/7d3c2c415cd4681a9313c65d.html

经常在QT中遇到使用某个文件的绝对路径的情况。因为写的程序经常可能被移植,而相对路径是不变的,所以可以使用相对路径获取其绝对路径。

以下举个例子:

QDir temDir("./NewTopoShow/TopoShow111.swf");
QString absDir = temDir.absolutePath();

直接返回一个QString类型的对象。

得到的路径是例如E:/aa/bb/cc.txt 格式的路径,但实际有些使用路径的函数中需要的路径格式为E:\\aa\\bb\\cc.txt这种格式,所以需要对格式进行简单的转换,QString中有个replace函数可以帮我们完成。

absDir.replace(QString("/"),QString("\\\\"));
后面之所以四个\\\\是因为包含了两个转义字符,这样就可以转换成相应格式的绝对路径了。