2012-03-10 5 views
1

정확한 질문이 없습니다.그림의 Qt 텍스트 편집기

그림이 있습니다. 예를 들어 공백이거나 공상 표제를 추가하고 싶은 항목이있을 수 있습니다. 나는 그림 위에 (포토샵과 비슷한) 텍스트 편집 수단을 추가하고 싶다.

QGraphicsScene을 서브 클래 싱하고 텍스트 배치 버튼을 누를 때 서브 클래 싱 된 QTextEdit 객체를 장면에 배치하려고합니다. 그런 다음이 객체를 클릭하면 텍스트 편집 외에도 추가 텍스트 편집 도구를 사용할 수 있으므로 텍스트 부분을 굵게, 기울임 꼴, 색상, 크기 등을 변경할 수 있습니다. 그러면 텍스트 부분을 변경할 수 있습니다 개체의 위치 - 기본적으로 QGraphicsScene에 있습니다. 배경이 QBrush 인 경우 배경 그림이 나타납니다.

합리적인 해결책입니까?

아마도 사용 가능한 예가있을 수 있지만 아직 찾지 못했습니다.

답변

1

내 솔루션

텍스트 항목 : 텍스트 항목에 대해 , 나는 서브 클래스 QGraphicsTextItemQGraphicsScene을 사용했다. 배경 그림의 경우 QGraphicsRectItemQBrush으로 사용하고로드 된 그림을 QImage 방법으로 사용했습니다. QTextCharFormat 내 서브 클래스 QGraphicsTextItemQGraphicsTextItem::textCursor().mergeCharFormat(...)를 사용하여 적용 :

이에서 선택한 텍스트의 일부를 편집하려면 QGraphicsTextItem을 하위 클래스. 이 방법을 사용하면 선택 영역에서만 볼드체, 기울임 체 등과 같은 서식을 변경할 수 있습니다.

좀 더 thingies : 는 팬 및 현장 주변을 확대하기 위해, 나는 http://www.qtcentre.org/wiki/index.php?title=QGraphicsView:_Smooth_Panning_and_Zooming

에서 소스 코드를 완전 Vpicaver의 탁월한 가이드를 사용