1

Qt 4.7.0を使用すると、通常と太字の中間に表示するテキストが必要になります。これが私たちがしていることです:

Paintのサブクラスのメソッドには、QGraphicsObject呼び出すものQFontがありsetWeight(58)ます。を作成してQPainterPathそのメソッドを呼び出しaddText、を渡しますQFont

次に、QPainterパラメータを使用してを呼び出しdrawPath、を渡しますQPainterPath

私たちが見つけたのは、fontweightを50から62に変更しても、ペイント方法に違いはないということです。フォントの太さは63〜75で、フォントは太字で描かれています。

fontWeightを期待どおりに機能させるにはどうすればよいですか?

4

1 に答える 1

1

ドキュメントによると

フォントの重みを重みに設定します。これは、QFont::Weight列挙からの値である必要があります。

CSSフォントの太字に関するW3Cページには、CSSがそれをどのように処理するかについての良い説明があります。Qtのドキュメントには、同様のことをしていると書かれています。基本的に、ヒューリスティックを適用して、ウェイト値を適切なバージョンのフォント(通常、太字、太字など)にマップしようとします。

QPainterPath特定のフォントの通常よりもわずかに厚いグリフを作成することは可能かもしれませんが(おそらく?の輪郭を描く)、結果はほぼ間違いなく期待外れになります。フォントデザイナーは、フォントを特定の重みで見栄えよくするために多大な努力を払っています。それから離れると(たとえば、各グリフの輪郭を描くことによって)、その設計の最適化はすべて失われます。

于 2011-02-02T22:04:42.513 に答える