2010-01-27 19 views
9

¿Cómo puedo ejecutar programas de línea de comandos en Linux desde Qt4? Y, por supuesto, quiero obtener la salida de alguna manera que pueda usar. Lo usaría para un ls | grep, pero es bueno saber si hay algún problema en el futuro.Ejecutar comandos de Linux desde Qt4

+0

¿Algún idioma en particular? –

+1

QT implica C++. – hlovdal

+6

Excepto cuando habla de uno de sus enlaces (sí, lo he visto suceder), pero lo dejaré pasar. –

Respuesta

23
QProcess p; 
p.start(/* whatever your command is, see the doc for param types */); 
p.waitForFinished(-1); 

QString p_stdout = p.readAllStandardOutput(); 
QString p_stderr = p.readAllStandardError(); 
2

Use QProcess.

+1

Para algunas tareas, es posible que sea más fácil (o más robusto) ejecutar su propio código: usted menciona ls | grep, potencialmente QDir con un filtro o QRegExp puede hacer lo que necesita. Para el caso general, sin embargo, QProcess es absolutamente la mejor manera de hacerlo. –

+0

Esa es una gran observación. Creo que lo intentaré en otro momento, pero la pregunta en este caso también se orientó un tanto para el caso general para usos futuros. ¡Gracias de todos modos! – StJimmy

0

¿Qué hay de usar popen?

+0

No mucho Qt sin embargo ... – e8johan

+0

e8johan: Es cierto ... Entiendo que quieras usar QT API pero pensé que daría esta respuesta. :) – t0mm13b

Cuestiones relacionadas