Ich versuche, die Ausgabe eines Shell-Skript in Qt zu lesen. Das Übergeben eines Arguments an das Shell-Skript funktioniert jedoch nicht, da es vollständig ignoriert wird. Was mache ich im folgenden Auszug falsch?QProcess Passing (Shell) Argumente
QProcess *process = new QProcess;
process->start("sh", QStringList() << "-c" << "\"xdotool getactivewindow\"");
process->waitForFinished();
QString output = process->readAllStandardOutput();
target = output.toUInt();
Ich habe an mehreren anderen Threads geschaut und versucht, Lösungen wie
process->start("sh", QStringList() << "-c" << "xdotool getactivewindow");
und
process->start("sh", QStringList() << "-c" << "xdotool" << "getactivewindow");
aber keiner arbeitete.
Wird statt übergeben wird 'prozess-> starten ("xdotool", QStringList() << "getactivewindow"); 'Arbeit? Was ist der Befehl, wenn Sie ihn selbst in der Shell ausführen? – m7913d
In der Shell führe ich xdotool getactivewindow aus. Und thx, 'process-> start (" xdotool ", QStringList() <<" getactivewindow ");' hat funktioniert! Ich vermute, der Grund ist, dass es nur einen Befehl ohne Platz gibt, um zu entkommen. Die ursprüngliche Frage bleibt also immer noch ungelöst. – Alex