2013-04-11 2 views
0

QTextEdit을 사용하여 Qt에서 간단한 그래픽 셸을 구현하고 싶습니다. 사용자 명령을 받고 그 결과를 QTextEdit에 인쇄하고 싶습니다.qt에서 GUI 셸 구현

아래 코드는 QTextEdit의 전체 내용 반환

text_editor.toPlainText().toAscii(); 

을하지만 사용자가 입력하고 전에 무엇을 인쇄 있었는지를 구분하는 방법을 모르겠어요. 이 작업을 수행하는 올바른 방법은 무엇입니까?

+2

텍스트 편집이 2 개인 이유는 무엇입니까? 하나는 입력 용이고 다른 하나는 출력 용입니까? 그런 다음 출력 텍스트를 읽기 전용 텍스트 편집으로 편집 할 수도 있습니다. "shell like"라고하면 인터페이스와 같은 명령 줄을 만들려고합니까? – Viv

+0

예. 나는 커맨드 라인을 만들고 싶다. 두 가지 텍스트 편집을 사용하는 것은 내 목표가 아닙니다. 내 사용자가 명령을 입력하고 결과를 보길 원합니다 – babak6

답변

1

출력용으로 QTextEdit을 사용하십시오. 여러 줄을 지원하며 HTML을 사용하여 색상을 제어 할 수 있습니다. 그런 다음 한 줄의 QLineEdit을 사용하여 명령을 입력하십시오. QLineEdit을 QTextEdit 아래에두면 간단한 명령 인터페이스를위한 GUI가 생깁니다! QLineEdit에 명령을 입력 할 때 명령의 결과와 다른 색을 사용하여 QTextEdit에도 인쇄하십시오.

위젯 하나로 모든 것을하려는 것보다 훨씬 쉽습니다.

1

키 누르기 이벤트 처리기를 다시 구현하여 일반적인 작업을 수행하고 사용자가 입력 한 데이터를 저장합니다. 일단 엔터를 누르면 별도로 저장된 텍스트가 실행 된 후 삭제됩니다.

+0

이 방법으로 나는 모든 것을 내 자신으로 처리해야합니다. 높은 수준의 솔루션이 있습니까? – babak6

+0

@ babak6 하나의 방법을 다시 구현하고 키 누름을 저장하고 '입력'을 모니터링해야합니다. 어쨌든 당신이해야 할 일은 다 있습니다. – cmannett85