使用 Qt 的情启动一个新进程
时间: 2024-02-21 18:57:42 浏览: 62
利用Qt实现程序启动画面
在 Qt 中,可以使用 `QProcess` 类来启动一个新进程。以下是一个简单的示例代码:
```cpp
#include <QCoreApplication>
#include <QProcess>
int main(int argc, char *argv[]) {
QCoreApplication a(argc, argv);
// 创建 QProcess 对象
QProcess process;
// 设置要启动的进程名称和参数
QStringList arguments;
arguments << "-c" << "echo hello world";
process.start("sh", arguments);
// 等待进程启动完成
if (!process.waitForStarted()) {
qWarning() << "Failed to start process.";
return 1;
}
// 等待进程执行完成,并获取输出结果
if (!process.waitForFinished()) {
qWarning() << "Process failed to run.";
return 1;
}
// 输出进程的输出结果
QByteArray output = process.readAllStandardOutput();
qDebug() << output;
return a.exec();
}
```
这个示例代码中,使用 `QProcess` 类创建一个新的进程对象。然后,使用 `start()` 函数指定要启动的进程名称和参数。在本例中,我们启动了一个 `sh` 进程,并将 `-c` 参数传递给它,以便在进程中执行 Shell 命令 `echo hello world`。然后,我们使用 `waitForStarted()` 函数等待进程启动完成,使用 `waitForFinished()` 函数等待进程执行完成,并从进程的输出缓冲区中读取输出结果,最后输出结果。
阅读全文