也许你认为这个问题之前已经解决得越来越多,但我还有另外一个问题。 例如,目录路径是“C:\ Program Files(x86)\ sth”。 我不直接设置它!我从注册表中获取它。因此,目录路径在另一个系统中可能不同。 如何动态地将目录路径更改为有效的路径?
非常感谢。
Ya Ali。
答案 0 :(得分:1)
如果你从注册表中读取这个路径,那么它的反斜杠应该已经被转义(就像你使用cin获取一个字符串并且有一个反斜杠一样),所以路径应该是有效的。如果它以某种方式不适合您,您可以尝试使用QDir::fromNativeSeparators()
QtDoc。它会将反斜杠更改为斜杠,Qt也可以在Windows上处理。
答案 1 :(得分:-1)
经常搜索并找不到什么大事!
但我写了自己的代码。
QList<QString> lst = installedPath.split("\\");
for(int i=0;i<lst.size(); i++)
{
if(lst.at(i).indexOf(" ") != -1)
{
validLocation += "\"";
validLocation += lst.at(i);
validLocation += "\"";
validLocation += "\\\\";
}
else
{
validLocation += lst.at(i);
if(i != lst.size()-1)
validLocation += "\\\\";
}
}
答案 2 :(得分:-1)
在驱动器符号后尝试双斜杠:“C:// Program Files(x86)/ sth”