在qt creator和vs中分别编译运行程序,如果涉及到路径,相同的代码,会运行出不同的结果。
这是因为默认查找路径不一样,qt的相对路径是exe所在目录;而vs,调试运行或者非调试运行,相对路径是.vcxproj文件所在的目录,如果点击exe运行,相对路径是exe所在的目录。这就导致有时候读取图片会存在读取不到的情况。
解决方案:针对vs,在工程属性中配置工作路径,使用环境变量。
如图:
还有就是在vs中尽量使用绝对路径,包含QDir头文件,使用QDir::currentPath()获取当前路径,绝对路径,再进行拼接即可。