프로젝트를 수행 중입니다. 패킷 스니핑이라고하는데, 좋아하는 etherial.it을 캡처하여 모든 패킷을 호스트에 표시합니다. 이 프로젝트를 개발하기 위해 리눅스 플랫폼에서 일하고 그거야 날 난 내 GUI에 그 패킷 정보를 리디렉션 원 콘솔의 패킷 정보를 표시 할리눅스 플랫폼에서 qt로 콘솔 출력을 GUI로 리디렉션하는 방법
- 오전 수있는 다음과 같은 문제가 발생하고 가이드 개발 QT를 사용하고 있습니다. 그것이 가능합니다.
프로젝트를 수행 중입니다. 패킷 스니핑이라고하는데, 좋아하는 etherial.it을 캡처하여 모든 패킷을 호스트에 표시합니다. 이 프로젝트를 개발하기 위해 리눅스 플랫폼에서 일하고 그거야 날 난 내 GUI에 그 패킷 정보를 리디렉션 원 콘솔의 패킷 정보를 표시 할리눅스 플랫폼에서 qt로 콘솔 출력을 GUI로 리디렉션하는 방법
정확하지 않아서 미안하지만 내 앞에 참조 자료가 없습니다. 나는 최근에 이것을 정확히했다. QProcess를 사용하여 패킷 스니퍼를 시작한 다음 ReadyRead (?) 신호를 처리 할 슬롯을 만듭니다. 그런 다음 ReadyRead 슬롯은 프로세스에서 stdout 및 stderr를 읽고 GUI에 출력을 넣을 수 있습니다.
감사합니다 mattnz..its 지금 일하고 .. – rajesh
외부 프로그램의 표준 출력을 Qt 프로그램에 파이프하는 경우 QTextStream을 사용하여 표준 입력에 연결할 수 있습니다 (docs 참조).
거기에서 QTextStream 개체를 프로그램에 전달하고 QTextStream :: readLine()을 사용하여 입력 내용을 추출하여 QTextEdit과 같은 행에 추가 할 수 있습니다.
이것이 작동하는지 모르겠지만 QTextStream :: device()에서 QIODevice를 가져 와서 QIODevice :: readyRead() 신호를 자신의 슬롯에 연결하여 모든 비동기를 만들 수도 있습니다.
코딩중인 프로그램이 패킷 스니핑을 수행하고 있습니까? 아니면 외부 프로그램입니까? – leegent