1

我正在尝试构建一个工具,该工具可以使用 QWidget 在屏幕上显示修改后的文本(即,带有一些额外的笔划)。因此,要将笔画放在正确的位置,我需要知道笔画所在字符的上升高度。

而且我有点坚持检索角色的实际上升。我尝试了以下一些事情:

  • 该方法QFontMetrics::ascent()会给我整个字体的上升;所以这不是我需要的。
  • 只要角色使用它的任何下降部分,方法QFontMetrics::boundingRect(& char就会给我我想要的东西。但是,如果角色确实使用了一些下降,那么该方法将返回角色的实际高度。如果字符确实使用了它的所有血统(即字体血统);然后我可以减去它以获得实际的上升。但我只是不知道如何解决这个案子,角色只是使用了一点它的血统。).height()

有什么方法,或者我可以解决这个问题吗?谁能帮我解决这个问题?

非常感谢你,

4

1 回答 1

3

您可以使用QFontMetrics::boundingRect. 返回的QRect原点位于 (0, 0) 处,字符的上升c由...表示

-QFontMetrics::boundingRect(c).top()

并且,同样地,下降...

QFontMetrics::boundingRect(c).bottom()
于 2021-07-31T09:45:58.120 回答