计算相对路径
/*
## 求 某文件集合B 相对于 某文件A 的相对路径
@fileName 某文件A路径
@list 某文件路径的集合B
*/
QStringList calcRelativePath(QString fileName, QStringList list)
{
QStringList relativeList;
QDir dir(fileName);
for each (QString str in list)
{
if (str.at(0) == fileName.at(0))
{
QString temp = dir.relativeFilePath(str);
relativeList.append(temp);
}
else
{
// 两个路径不在同一个盘符
relativeList.append(str);
}
}
return relativeList;
}
反算绝对路径
/*
##根据 某文件集合B 相对于 某文件A 的相对路径 反算绝对路径
@fileName 某文件A路径
@list 某文件路径的集合B
*/
QStringList calcAbsolutePath(QString fileName, QStringList list)
{
QStringList absoluteList;
for each (QString str in list)
{
if (str.at(1) == ':')
{
//若绝对路径,则直接追加到集合中
absoluteList.append(str);
}
else
{
QDir dir(fileName);
while (str.startsWith("../"))
{
str.remove(0,