0

そのため、「adb logcat」コマンドを実行する Qt アプリケーション (GUI 付き) を作成する必要があります (^c が押されるまで生成され続けるログです)。プロセスを停止して出力をテキスト ブラウザに渡すには、GUI ボタン​​が必要です。これは、QProcess 出力を取得するために使用するコードです。

QProcess process;
process.start("adb logcat");
process.waitForFinished(-1);
QByteArray logcatOut = process.readAllStandardOutput();
ui->devicesOutput->setText(logcatOut);

ありがとうございました

4

2 に答える 2

0

QProcess::terminateを使用して実行中のアプリを停止します

于 2013-08-10T13:59:25.630 に答える
0

process.waitForFinished(-1);

プロセス「adb」が終了するまで、プログラムがそれ以上実行されないようにします。したがって、GUI はフリーズします。

  1. QProcess プロセスをクラス変数として定義する必要があります。QProcess *プロセスを使用します。スタック上に作成する代わりに。(すべての QObject 派生のベスト プラクティス)

  2. ボタンのクリック信号を処理するスロットを宣言します。

  3. スロットで process->terminate() を呼び出します。

于 2013-08-10T23:14:46.680 に答える