【发布时间】:2017-06-10 09:45:02
【问题描述】:
我正在尝试在 Qt 中读取 shell 脚本的输出。但是,将参数传递给 shell 脚本不起作用,因为它被完全忽略了。我在以下摘录中做错了什么?
QProcess *process = new QProcess;
process->start("sh", QStringList() << "-c" << "\"xdotool getactivewindow\"");
process->waitForFinished();
QString output = process->readAllStandardOutput();
target = output.toUInt();
我查看了其他几个线程并尝试了解决方案,例如
process->start("sh", QStringList() << "-c" << "xdotool getactivewindow");
和
process->start("sh", QStringList() << "-c" << "xdotool" << "getactivewindow");
但没有任何效果。
【问题讨论】:
-
process->start("xdotool", QStringList() << "getactivewindow");有效吗?如果你自己在shell中执行命令是什么? -
在 shell 中我执行 xdotool getactivewindow。并且谢谢,
process->start("xdotool", QStringList() << "getactivewindow");工作!我怀疑原因是只有一个命令没有任何空间可以逃脱。所以最初的问题仍然没有解决。