0

私のQTアプリケーションでは、ターミナルからアプリケーションを実行すると、リアルタイムの情報がターミナルに出力されるようにしたいと考えています。

printf("print this") を使用すると (メインまたはペイント イベント中に)、GUI を閉じるまで印刷されません。

これはなぜですか?どうすれば情報をリアルタイムで印刷できますか? (私はLinuxを使用しています)

ありがとう!

4

4 に答える 4

2

stdout に書き込むには、これCONFIG += consoleをプロジェクト ファイルの構成に追加し、必要に応じて を使用する必要coutがありprintfます。qDebugデフォルトでは に出力されますstderr。詳細については、このトピックを確認してください - Qt を使用しているときにコンソールに出力する方法

于 2013-06-29T16:53:29.760 に答える
1

qDebug() << ...、などを使用できます。qWarning() << ...忘れずに を含めてください<QDebug>

ドキュメント: QDebug

于 2013-06-29T16:23:45.150 に答える
1

Qt は printf 出力に干渉しません。(Windows では (Qt ではなく) qmake で実行できますが、Linux には適用されません)。ただし、stdout のバッファリング動作によりprintf("print this")、バッファがフラッシュされるまで出力されないことに注意してください。eg を試すfflush(stdout)か、単に newline:printf("print this\n")を追加して、バッファをフラッシュします。ただし、それはQtとはまったく関係ありません。

于 2013-06-29T20:23:49.320 に答える