2

avrdudeいくつかのコマンドライン引数の呼び出しを容易にするヘルパー プログラムを作成しています。コンソールで avrdude コマンドを発行すると、一連の出力結果が画面に表示されます。とにかくその出力を取得してGUIウィンドウに表示する方法はありますか(問題がある場合はQtを使用)?

出力を取得してファイル ( avrdude -args > textFile.txt) にリダイレクトし、実行時に読み取って画面に表示できると考えました。

この出力をキャプチャする他の方法があるかどうか疑問に思っています。

4

2 に答える 2

3

主なクラスは、次のようにQProcessQLabel、または同様の GUI ウィジェットであると思います。

QProcess avrDudeProcess;
avrDudeProcess.setProcessChannelMode(QProcess::MergedChannels);
avrDudeProcess.start("avrdude", optionList);
if (!avrDudeProcess.waitForStarted())
    return false;

if (!avrDudeProcess.waitForFinished())
    return false;

QByteArray output = avrDudeProcess.readAll();
myLabel.setText(output);
于 2014-05-24T02:43:38.210 に答える
2

たぶん、それがあなたが探しているものです。

http://linux.die.net/man/3/popen

それは例です:

/* First open the command for reading. */
FILE * file = popen("/bin/ls /etc/", "r");

char output[100];
/* Read the output line by line */
while (fgets(output, 100, file) != NULL) 
{
    printf("%s", output); /* show the result */
}

/* close */
pclose(file);

幸運を!

于 2014-05-24T02:07:10.747 に答える