DetachedProcess 不是QProcess成员
时间: 2024-09-20 14:00:50 浏览: 28
【QT】通过QProcess实现一个命令行
抱歉,您提到的`DetachedProcess`不是一个直接属于`QProcess`类的成员。`QProcess`类确实有一个名为`StartDetached`的方法,但它不是作为成员函数存在,而是作为一个静态方法,用于异步地启动一个新的进程,而新进程会在后台独立运行。其基本语法如下:
```cpp
QProcess::startDetached(executable, arguments, workingDirectory, environment);
```
这里,`executable`是你想要启动的应用程序的路径,`arguments`是传递给它的命令行参数,`workingDirectory`是进程的工作目录,`environment`是环境变量。这个方法不会阻止当前线程,而是立即返回。
如果你需要在`QProcess`实例上调用类似的功能,应该使用`start`方法,并设置`waitForFinished`为`false`,让它成为一个非阻塞的操作。
```cpp
QProcess edgeProcess;
edgeProcess.start(edgeExePath, QStringList() << pdfFilePath, QDir::currentPath(), QProcess::Environment());
edgeProcess.waitForFinished(-1); // 等待进程完成,-1表示无限等待
```
阅读全文