Qt QProcess::开始不启动进程

Qt QProcess::开始不启动进程,qt,Qt,当我点击Qt应用程序中的按钮时,我需要启动一个可执行文件。要启动可执行文件,我使用QProcess对象 QProcess *executable = new QProcess(this); executable->start("test.exe"); test.exe存在于我的Qt应用程序所在的同一位置 我在这里面临的问题是,当我调试时,它正在启动test.exe。但是当我在没有调试的情况下运行时,它不会启动可执行文件。我不知道我在这里错过了什么 当您在“调试”和“资源管理器”中运行程序

当我点击Qt应用程序中的按钮时,我需要启动一个可执行文件。要启动可执行文件,我使用QProcess对象

QProcess *executable = new QProcess(this);
executable->start("test.exe");
test.exe存在于我的Qt应用程序所在的同一位置


我在这里面临的问题是,当我调试时,它正在启动test.exe。但是当我在没有调试的情况下运行时,它不会启动可执行文件。我不知道我在这里错过了什么

当您在“调试”和“资源管理器”中运行程序时,应用程序尝试在其中查找
test.exe
的目录是不同的。始终使用完整路径

如果将
test.exe
文件放在应用程序exe所在的文件夹中,则可以使用以下方法:

QDir(QCoreApplication::applicationDirPath()).absoluteFilePath("test.exe")

很可能
QProcess
找不到您的
test.exe
文件。请尝试定义完整的文件路径。会出现什么错误?将插槽连接到QProcess::error信号,或调用executable->error()查看出现了什么错误(如果有):我在函数末尾删除了QProcess对象。这就是问题的根源。