QWidget中如何获取字符顶部到基线的高度(即实际上升高度)?
How to get the height from the top of character to its base line (i.e, its actual ascent) in QWidget?
我正在尝试构建一个工具,该工具可以使用 QWidget 在屏幕上显示修改后的文本(即,添加一些额外的笔画)。因此,为了将笔画放在正确的位置,我需要知道笔画所在字符的上升高度。
而且我有点卡在检索角色的实际上升。我尝试了以下一些方法:
- 方法
QFontMetrics::ascent()
会给我整个字体的上升;所以这不是我需要的。
- 方法
QFontMetrics::boundingRect(
&char).height()
会给我我想要的只要字符不 使用它的任何下降部分。但是,如果字符 确实 使用 一些 的后裔,那么该方法将 return 我实际 角色的高度。如果字符 does 使用 all 它的 descent(即字体 descent);然后我可以减去它以获得实际的上升。但我只是不知道如何解决这个问题,角色只是使用了它的血统。
有没有什么方法或者方法可以解决这个问题?谁能帮我解决这个问题?
非常感谢您,
您可以使用 QFontMetrics::boundingRect
。返回的 QRect
的原点为 (0, 0),字符 c
的上升由...
表示
-QFontMetrics::boundingRect(c).top()
并且,类似地,下降...
QFontMetrics::boundingRect(c).bottom()
我正在尝试构建一个工具,该工具可以使用 QWidget 在屏幕上显示修改后的文本(即,添加一些额外的笔画)。因此,为了将笔画放在正确的位置,我需要知道笔画所在字符的上升高度。
而且我有点卡在检索角色的实际上升。我尝试了以下一些方法:
- 方法
QFontMetrics::ascent()
会给我整个字体的上升;所以这不是我需要的。 - 方法
QFontMetrics::boundingRect(
&char).height()
会给我我想要的只要字符不 使用它的任何下降部分。但是,如果字符 确实 使用 一些 的后裔,那么该方法将 return 我实际 角色的高度。如果字符 does 使用 all 它的 descent(即字体 descent);然后我可以减去它以获得实际的上升。但我只是不知道如何解决这个问题,角色只是使用了它的血统。
有没有什么方法或者方法可以解决这个问题?谁能帮我解决这个问题?
非常感谢您,
您可以使用 QFontMetrics::boundingRect
。返回的 QRect
的原点为 (0, 0),字符 c
的上升由...
-QFontMetrics::boundingRect(c).top()
并且,类似地,下降...
QFontMetrics::boundingRect(c).bottom()