2010-01-27 17 views
9

Qt4'ten Linux altında komut satırı programlarını nasıl çalıştırabilirim? Ve tabii ki çıktıyı kullanabileceğim bir şekilde elde etmek istiyorum. Bir ls | grep için kullanırdım, ancak gelecekteki sorunlar için bilmek iyidir.Qt4'ten Linux komutlarını çalıştırma

+0

Herhangi bir dil? –

+1

QT, C++ anlamına gelir. – hlovdal

+6

Bağlamalarından biri hakkında konuştuğunuz durumlar dışında (evet, bunun olduğunu gördüm), ancak kaymasına izin vereceğim. –

cevap

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

QProcess'u kullanın.

+1

Bazı görevler için kendi kodunuzu açmak daha kolay (veya daha sağlam) olabilir - ls | grep, potansiyel olarak QDir filtresi veya QRegExp ihtiyacınız olan şeyi yapabilir. Genel durum için olsa da, QProcess kesinlikle gitmek için en iyi yoldur. –

+0

Bu harika bir gözlem. Sanırım başka bir zaman deneyeceğim ama bu davadaki soru da gelecekteki kullanımlar için genel bir durum yönündeydi. Yine de teşekkürler! – StJimmy

0

popen'u kullanmaya ne dersiniz?

+0

Çok değil Qt olsa da ... – e8johan

+0

e8johan: Doğru ... QT API kullanmak istediğini anlıyorum ama bu cevabı verdiğimi düşündüm. :) – t0mm13b