2012-02-10 4 views
5

QPrinter에서 drawText에 QPainter를 사용합니다. 그러나 문제가 있습니다. 나는 다채로운 텍스트를 그릴 수 있기를 바랍니다. 예를 들어, "Hello World"그리기 "H"가 녹색이고, "ello"가 노란색이고, "World"가 파란색입니다.
당분간 drawText를 3 번 ​​호출하고 다른 QPen을 사용하여 색상을 변경합니다. 또한, 나는 3 번에 그릴 위치를 계산해야합니다. 마지막으로, 완전한 문장을 그리지 않기 때문에 QRect에서 문자열을 정렬 할 수 없습니다. 간단한 방법으로 문제를 해결할 수있는 방법이 있습니까? 어떤 힌트를 주셔서 감사합니다! 감사!Qt 다채로운 텍스트 그리기

답변

4

색상에 대한 CSS 사양을 포함하여 텍스트 문자열에 html을 바로 작성하여이 작업을 수행 할 수 있습니다.

Html in widget text

CSS within the html 사용

html로 style 태그는 다음에 액세스 할 수 있습니다.

편집 : QPaintDevice에 이것을 얻으려면 QPainter::drawStaticText()을 사용하십시오. drawText처럼 작동하지만 기본적으로 서식있는 텍스트를 읽습니다. 그것을 사용하려면 #include <QStaticText>해야합니다.

+0

나는 PDF 파일을 만들고 싶기 때문에 QPrinter에 무언가를 그립니다. QPainter에서 서식있는 텍스트를 사용할 수 있습니까? – Arton

+0

@Anton 편집을 참조하십시오.이 코드는 내 코드에서 작동하는 것으로 확인되었습니다. –

+0

잘 작동합니다. 고마워요 !! – Arton