在Windows的cmd窗口中C:\Users\14605>D:\TestQt\CMD\TestCMD4\TestCMD4\build\Desktop_Qt_6_4_1_MSVC2019_64bit-Debug\TestCMD4.exe
可以正常输出,然后程序一直执行,需要等Ctrl+C才结束

测试1:在Qt使用Qprocess执行文件时,进程一直卡着,不返回数据
代码为:
process->start("cmd", QStringList() << "/C" << "D:\\TestQt\\CMD\\TestCMD4\\TestCMD4\\build\\Desktop_Qt_6_4_1_MSVC2019_64bit-Debug\\TestCMD4.exe");
connect(process, &QProcess::readyReadStandardOutput, this, &WidgetClass::ReadProcessOutput);
connect(process, &QProcess::readyReadStandardError, this, &WidgetClass::ReadProcessErrors);

错误:没有接收到任何数据,ReadProcessOutput和ReadProcessErrors没有被触发
测试2:代码:
QProcess process;
process.start("D:/TestQt/CMD/TestCMD4/TestCMD4/build/Desktop_Qt_6_4_1_MSVC2019_64b/TestCMD4.exe");//假设路径下的文件名为TestCMD4.exe
if (process.waitForStarted()) {
qDebug() << "Process started";
if (process.waitForFinished()) {
QByteArray output = process.readAllStandardOutput();
qDebug() << "Output:" << output;
} else {
qDebug() << "Process did not finish correctly";
}
} else {
qDebug() << "Process could not be started";
}
输出为:Process could not be started