QIODevice
(구체적으로 QProcess
)의 출력을 실시간으로 QTextEdit
에 입력하는 방법은 무엇입니까?QTextEdit에 대한 QIODevice의 파이프 출력
0
A
답변
1
QProcess::readAllStandardOutput을 사용하여 QProcess에서 읽은 슬롯에 QProcess::readyRead 신호를 연결하고 QTextEdit::append으로 QTextEdit에 텍스트를 씁니다.
0
글쓰기 자신의 글을 쓰기!
헤더 :
class MyProcess : public QProcess
{
Q_OBJECT
...
protected:
virtual qint64 readData(char * data, qint64 maxlen);
...
};
출처 :
qint64 MyProcess::readData(char * data, qint64 maxlen)
{
qint64 return_value = QProcess::readData(data,maxlen);
QString str(QByteArray(data,return_value));
// write out to QTextEdit
return return_value;
}
왜 반대 투표? 실시간 질문했습니다! – Naszta
Maygarden 판사의 답변은 구현하기가 훨씬 쉬워 보이고 더 합리적입니다. (나는 다운 - 투표 한 사람이 아니었다) – mtk358
@ mtk358 : 사실이다. 반면에 그것은 실시간이 아닐 수 있습니다. 'connect'가 대기중인 연결을 선택하면 반응은 실시간이 아닙니다. [Link.] (http://doc.trolltech.com/4.7/qt.html#ConnectionType-enum) – Naszta