2014-06-20 19 views
0

QMainWindow를 기본 위젯으로 사용하여 응용 프로그램을 개발했으며, QMdieSubWindows 추가에 필요한 Mdiarea를 추가했습니다.MdiArea를 사용하여 QMainWindow에 로그 텍스트를 표시합니다.

Qt Creator 에서처럼 로깅 영역을 유지하는 방법을 알고 싶습니다.

내 로그 텍스트는 기본적으로 진행되고 있습니다.

는 최적화를 시작으로 ... 파일 파일이 ... 를로드하지 않습니다 ... 저장 등

나는 QPlainTextEdit 또는 QTextEdit을 추가하는 생각, 그냥 텍스트 추가 그들.

나는 나의 QMainWindow.cpp이 쓴 :

QPlainText* mydebugger = new QPlainText(this); 
mydebugger.appendPlaintext("Debugger started"); 
mydebugger.show(); 

하지만이 QMainWindow 내 메뉴를 통해 일반 텍스트를 보이고있다;

내 상태 표시 줄 아래쪽에 있습니다.

지금 묻고 싶다 :

  1. QPlainTextEdit 또는 QTextEdit을 : 어느 쪽이 내 작업에 대한 더 나은 무엇입니까? 텍스트를 추가하고 텍스트를 강조 표시하고 색칠 만하면됩니다.

  2. Q(Plain)TextEdit을 고정 위치와 고정 너비가있는 하단의 QtCreator에서 얻는 방법은 무엇입니까?

MdiSubWindow를 만들고 일반 텍스트 위젯을 추가하려고했습니다. 원하는대로 작동하며 텍스트를 추가 할 수 있습니다. 그러나 나는 여전히 바닥에 고정시킬 수는 없다. 어떤 아이디어? 당신은 색상 및 기타 서식 옵션을 원하는 경우에

답변

1
  1. QTextEdit 갈 길이다. QPlainTextEdit은 서식을 허용하지 않습니다.

  2. QDockWidgetQMdiSubWindow보다 낫습니다. 그런 다음 메인 창 하단에 로거를 도킹 할 수 있습니다.

+0

감사합니다. QMdiArea에서 QDockWidget을 계속 사용할 수 있습니까? 아니면 QMainWindow에서만 사용해야합니까? 여러 개의 QMdiSubWindows를 표시하려면 MdiArea가 필요합니다. – amol01

+0

MDI 영역은 모든 MDI 서브 윈도우가있는 곳입니다. MDI 룩앤필을 원한다면 일반적으로'QMainWindow'의 중앙 위젯으로 설정됩니다. 도킹 위젯은 중앙 위젯 주위의 네면 중 하나에 도킹됩니다. 'QMainWindow'에 대한 문서를 보면, 어떻게하는지 알 수 있습니다. – RobbieE

+0

감사합니다. DockWidget을 사용하는 멋진 아이디어. 정확히 내가 원했던 것입니다. – amol01