QFontMetrics

QFontMetrics是一个用于获取字体、字符和字符串度量信息的类,如ascent(),descent(),height()等。它可以用来计算文本的宽度、高度和边界,支持屏幕和打印机字体。创建QFontMetrics对象后,可以使用horizontalAdvance(),boundingRect()等函数处理字符串。示例展示了如何使用QFontMetrics计算文本的宽度和高度。
摘要由CSDN通过智能技术生成

一.描述

QFontMetrics提供关于字体的指标信息。

QFontMetrics的函数用于计算给定字体的字符和字符串的大小。有三种方法可以创建QFontMetrics对象:

  1. 用QFont调用QFontMetrics构造函数会为屏幕兼容字体创建QFontMetrics对象,即字体不能是打印机字体。
  2. QWidget::fontMetrics()返回小部件字体的QFontMetrics。这相当于QFontMetrics(widget->font())。
  3. QPainter::fontMetrics()返回painter当前字体的QFontMetrics

一旦创建QFontMetrics对象后,该对象提供函数来访问字体、字符和呈现的字符串的各个度量。

几种对字体进行操作的函数:ascent() ,descent() ,height() ,leading() 和lineSpacing() 返回字体的基本大小属性。 underlinePos() ,overlinePos() ,strikeOutPos() 和lineWidth() 函数返回下划线,上划线或删除字符的行的属性。 这些功能都很快。

有一些对字体的字形集起作用的函数:minLeftBearing() ,minRightBearing() 和maxWidth() 。 这些速度一定很慢,我们建议尽可能避免使用它们。

于每个字符,您可以获得它的horizontalAdvance()、leftBearing()和rightBearing(),并使用inFont()查明它是否在字体中。您也可以将字符视为字符串,并在其上使用字符串函数。

符串函数包括horizontalAdvance(),用于返回像素(或点,用于打印机)的字符串宽度,boundingRect(),用于返回一个足够大的矩形,以包含已呈现的字符串,以及size(),用于返回矩形的大小。

例子:

QFont font("times", 24);
 QFontMetrics fm(font);
 int pixelsWide = fm.horizontalAdvance("What's the width of this text?");
 int pixelsHigh = fm.height();

请参见QFont,QFontInfo,QFontDatabase和 Character Map Example。

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值