我在Qt C ++ GUI上编写了一个程序,从给定的用户输入生成三个带有正确语法(C ++)的.cpp文件。当我直接从Qt Creator启动我的程序或者像脚本一样从控制台运行它时,它会正确地在可执行文件目录中创建文件:
QDir().mkdir(QDir::currentPath() + "/Files");
QFile outputFile(QDir::currentPath() + "/Files/myFile.cpp");
当我双击可执行文件时,程序启动并正常工作,但它没有创建我的文件。
我正在使用Linux Debian Squeezy 6.0和Qt Creator 4.6.3
答案 0 :(得分:2)
我认为当你双击可执行文件时会创建,但不会在所需目录中,因为当前目录在这种情况下是不同的。您应该使用QCoreApplication::applicationDirPath()
代替QDir::currentPath()
。