【发布时间】:2014-05-21 13:19:21
【问题描述】:
我有一个用 QT 实现的 GUI。 GUI 有许多按钮,其中一个执行 shell 脚本:
system("/bin/sh executeScene.sh");
脚本已正确执行,但 GUI 被阻止,直到我关闭之前调用的脚本。有没有办法在不阻塞 GUI 的情况下执行我的 shell 脚本?
GUI 有另一个按钮来停止 shell 脚本,但是由于 GUI 被阻止,我无法停止脚本。
【问题讨论】:
我有一个用 QT 实现的 GUI。 GUI 有许多按钮,其中一个执行 shell 脚本:
system("/bin/sh executeScene.sh");
脚本已正确执行,但 GUI 被阻止,直到我关闭之前调用的脚本。有没有办法在不阻塞 GUI 的情况下执行我的 shell 脚本?
GUI 有另一个按钮来停止 shell 脚本,但是由于 GUI 被阻止,我无法停止脚本。
【问题讨论】:
使用QProcess 异步运行进程。
【讨论】:
嘿,我在我的一个 GUI 应用程序中使用了它...
void MainWindow::on_pushButton_clicked()
{
QProcess process;
process.startDetached("/bin/sh", QStringList()<< "/path/to/your/shell.sh");
}
【讨论】: