externer Programmaufruf in einer Qt4-Application
Verfasst: 18. Oktober 2007 18:14
Hallo.
Seit etwas längerer Zeit suche ich nach einer Möglichkeit in meiner eigenen Qt4-Application (die ich mit Hilfe des Tutorials geschrieben hab') andere selbst geschriebene Programme (und/oder Skripte) aufzurufen. Den gesamten Quellcode reinzukopieren ist sicherlich nicht DIE Lösung, deshalb hab' ich es bisher mit der C++-Funktion popen() versucht. Auch ein alternativer Versuch mit fopen() wurde unter Linux SuSe 10.2 nur mit einem "segmentation fault" quittiert.
Hier mal der relevante Teil meines Codes:
Die Ausgaben, die die Programme, die über das Skript aufgerufen werden, auswerfen, möchte ich am liebsten als Text in ein widget umleiten. Aber zunächst einmal wäre mir allein mit dem Aufruf und Durchlauf des Skriptes sehr weiter geholfen.
Auch die Angabe von "x" als zweites Argument von popen() führte mein Skript leider nicht aus. Ich hoffe, es kann mir jemand (schnell) weiterhelfen. Danke schonmal im Voraus.
Seit etwas längerer Zeit suche ich nach einer Möglichkeit in meiner eigenen Qt4-Application (die ich mit Hilfe des Tutorials geschrieben hab') andere selbst geschriebene Programme (und/oder Skripte) aufzurufen. Den gesamten Quellcode reinzukopieren ist sicherlich nicht DIE Lösung, deshalb hab' ich es bisher mit der C++-Funktion popen() versucht. Auch ein alternativer Versuch mit fopen() wurde unter Linux SuSe 10.2 nur mit einem "segmentation fault" quittiert.
Hier mal der relevante Teil meines Codes:
Code: Alles auswählen
void MainWindow::recognition()
{
FILE *RECOGprog;
RECOGprog = popen(("./cardident.sh 1056"), "r");
char *buffer = "";
while(!feof(RECOGprog))
{
fgets(buffer, 255, RECOGprog);
printf("%s\n", buffer);
}
fclose(RECOGprog);
results->setText("New results:");
}Auch die Angabe von "x" als zweites Argument von popen() führte mein Skript leider nicht aus. Ich hoffe, es kann mir jemand (schnell) weiterhelfen. Danke schonmal im Voraus.