2017-06-19 7 views
-1

私はコードの下にgphoto2を問題なくロードし、---シェルスイッチを追加します。シェルにコマンドを発行するためにもう1行追加するにはどうすればいいですか?シェルに発行したいコマンドは "start-preview-stream"です。Issue起動したQProcessへのコマンド

QProcess gphoto2; 
    gphoto2.start("gphoto2", QStringList() << "--shell"); 
    if (!gphoto2.waitForStarted()){ 
     qDebug("gPhoto2 didn't start properly"); 
     return 1; 
    } 

    qDebug("gPhoto2 Started Successfully"); 

デバッグは、あなたがちょうどあなたがする必要がある、プロセスの標準入力ストリームにその文字列を送信する必要がある場合、私はまた、運

QProcess gphoto2; 
     gphoto2.start("gphoto2", QStringList() << "--shell" << "start-preview-stream"); 
     if (!gphoto2.waitForStarted()){ 
      qDebug("gPhoto2 didn't start properly"); 
      return 1; 

     } 

     qDebug("gPhoto2 Started Successfully"); 

答えて

0

で次のことを試してみました

gPhoto2 Started Successfully 

を表示write()QProcess

QProcess gphoto2; 
gphoto2.start("gphoto2", QStringList() << "--shell"); 
if (!gphoto2.waitForStarted()){ 
    qDebug("gPhoto2 didn't start properly"); 
    return 1; 
} 

qDebug("gPhoto2 Started Successfully"); 

gphoto2.write("start-preview-stream\n"); 

(明らかに、戻り値などの適切なチェックを追加する必要があります)

+0

いいえ、あなたのサンプルまたはこの1つではありませんプロセスgphoto2; gphoto2.start( "gphoto2"、QStringList()<< " - シェル" << "--hook-script = qrc:/src/hook.sh"); if(!gphoto2.waitForStarted()){ qDebug( "gPhoto2は正しく起動しませんでした"); リターン1; } qDebug( "gPhoto2 Started successfully"); if(!gphoto2.write( "start-preview-stream \ n")){ qDebug( "プレビューの開始はシェルに書き込まれませんでした"); リターン1; } qDebug( "開始プレビューはシェルに書き込まれました"); – demo7up

+2

出力をフラッシュする必要があるかもしれません。私は完全なプログラムを書いてテストする時間がなかったので、簡単に複製して適用できる[mcve]はありません。 –

関連する問題