在Qt下我们通过函数比如QFileDialog::getOpenFileName往往只能获得文件的绝对路径,无法获得相对路径,但是在某些场合我们必须使用相对路径。比如在项目中用数据库保存图片的地址,为了让项目拷贝到别人的电脑上也能正常从数据库里面读取显示图片,我们必须获取图片的相对路径并保存到数据库中,这时我们必须通过一些方法把图片的绝对路径转为相对路径。参考代码如下:
QString filepath = "E:/QtProjects/Qt4_Projects/download/QDir/Test1B/Resources/567.jpg"; //图片的绝对路径
QString curPath = QDir::currentPath(); //得到当前程序的工作路径为“E:/QtProjects/Qt4_Projects/download/QDir/Test1B”
QString relPath = filepath.mid(curPath.length()+1); //得到图片的相对路径“Resources/567.jpg”