2010-11-23 8 views
1

Qt 4.7.0을 사용하여 일반 텍스트와 굵은 글꼴 사이에 부분 텍스트를 표시 할 텍스트가 필요합니다. 여기에 우리가하고있는 작업은 다음과 같습니다 QGraphicsObject 우리의 서브 클래스의 Paint 방법에서qpainterpath.addtext가 qfont 가중치를 무시합니다.

, 우리는 우리가에 setWeight(58)을 부르는 QFont이 있습니다. QPainterPath을 만들고 addText 메서드를 호출하여 QFont을 전달합니다.

QPainter 매개 변수를 사용하여 drawPath을 호출하고 QPainterPath을 전달합니다.

글꼴 무게가 50에서 62로 바뀌면 색상이 어떻게 달라지는 지 알 수 있습니다. 폰트 가중치가 63에서 75이면 글꼴이 굵게 표시됩니다.

fontWeight를 예상대로 작동 시키려면 어떻게해야합니까? the documentation

답변

1

:

무게에게 QFont :: 체중 열거 값이어야한다 체중, 에 글꼴을 설정합니다.

W3C page on CSS font boldness에는 CSS에서 처리하는 방법에 대한 좋은 설명이 있습니다. Qt 문서는 비슷한 것을하고 있다고 말합니다. 기본적으로 체중 값을 적절한 글꼴 버전 (일반, 굵게, 굵게 등)에 매핑하려고하는 추론을 적용합니다.

약간 더 두꺼운 글꼴을 만들 수는 있습니다 (아마도 QPainterPath? 특정 폰트의 일반적인 글리프 (glyphs)보다 크지 만 그 결과는 거의 실망 스러울 것입니다. 글꼴 디자이너는 특정 가중치에서 글꼴이 잘 보이도록 많은 노력을했습니다. 당신이 그것으로부터 출발 할 때 (말하자면 각 글리프의 개요에 의해), 모든 디자인 최적화가 손실됩니다.

관련 문제