- 85 名前:デフォルトの名無しさん mailto:sage [2011/09/09(金) 23:34:58.61 ]
- Qt4.7のQProcess使って、stdoutを読んで、それに応じてstdinに書きたいのだけど、
readyReadStandardOutput()シグナルが出てくれなくて困ってる。 (stdoutがバッファリングされてるのかな?) 1行ごとか、stdoutがflushされるごとに発してくれたら、 あるいは、Qt側からflushさせることができたらありがたいのだけど。 いい方法ないですか? startのOpenMode引数に QIODevice::ReadWrite | QIODevice::Text や QIODevice::ReadWrite | QIODevice::Unbuffered 指定はやってみたけど、変わらなかった。 ぐぐったらQt3時代のwhile(proc->canReadLineStandardOut()){}みたいなのが出てきたから proc->setReadChannnel(QProcess::StandardOutput); while(proc->canReadLine()){}やってみたが、canReadLine()がfalse返すだけだった。 ためしにシグナルきてなくてもreadAllStandardOutput()呼び出したが、何もこなかった。 waitForReadyRead()呼び出してみたが、処理が帰ってこなくなるだけだった。
|

|