为什么通过Qt start
调用cmd看不到cmd窗口呢,可以看到打印信息,但是cmd的窗口没有出现,有时候就一闪而过
waitForReadyRead()使用这个函数等待试试
https://blog.csdn.net/xinqingwuji/article/details/114694724
不是很理解你的需求,你调用的命令是cmd /c "adb devices",本来就是执行adb devices后就结束的,一闪而过不是很正常吗
你要是建个bat文件写上adb devices,双击也是命令窗口一闪而过啊,一样的道理
真的要持续显示的话可以把命令加个pause改成"adb devices && pause"
因为看不到你别的代码,务必要保证这个QProcess能够存在到cmd运行结束,不要一start就被销毁了那也不行的,除非你用的是startDetached
然后再记得加上
process.setCreateProcessArgumentsModifier([] (QProcess::CreateProcessArguments *args)
{
args->flags |= CREATE_NEW_CONSOLE;
args->startupInfo->dwFlags &= ~STARTF_USESTDHANDLES;
});
注意如果既用上面这段方法又用startDetached,那么不能用静态方法的startDetached版本,必须
process.setProgram("cmd");
process.setArguments(QStringList() << "/c" << "adb devices && pause");
process.startDetached();
这个P设为全局变量试试