我在检查目录是否存在时遇到问题。 我从用户输入(例如QLineEdit)获取路径并检查目录是否存在,如果用户指定路径“K:\”(k驱动器根本不存在),我的代码就像这样
QDir tmp("K:\\");
if(tmp.exists())
return true;
else
return false;
理想情况下它应该返回false,因为驱动程序字母“K”没有映射,但遗憾的是它一直返回true,有没有人知道为什么会这样?要么 检查目录是否存在的正确方法是什么?
答案 0 :(得分:0)
两个建议:
尝试使用tmp.makeAbsolute()
如果不起作用,请尝试替换QDir tmp(“K:/”); (Unix正斜杠而不是DO / Windows反斜杠)。
答案 1 :(得分:0)
检查驱动器的更好方法是QDir::drives()方法。您还需要platform independent directory seperator使用QDir::exists()。