Qt扫盲-QFontInfo理论

QFontInfo理论

  • 一、概述
  • 二、创建QFontInfo对象

一、概述

QFontInfo类提供了关于字体的一般信息,包括是否是加粗、是否是斜体、字体大小、字体名称等等,使用也非常简单,其实就是一个属性查询类而已。

Qt扫盲-QFontInfo理论_第1张图片

QFontInfo类提供了与QFont相同的访问函数,例如family(), pointSize(), italic(), weight(), fixedPitch(), styleHint()等。

但是,当QFont访问函数返回设置的值时,QFontInfo对象返回应用于实际用于绘制文本的字体的值

例如,当程序要求在一台具有不可伸缩的24pt Courier字体的机器上使用25pt Courier字体时,QFont将(通常)使用24pt Courier字体进行渲染。在这种情况下,QFont::pointSize()返回25,QFontInfo::pointSize()返回24。

二、创建QFontInfo对象

有三种方法可以创建QFontInfo对象。

  1. 用QFont调用QFontInfo构造函数创建一个屏幕兼容字体的字体信息对象,也就是说,该字体不能是打印机字体。如果稍后更改字体,则不更新字体信息对象。
    (注意:如果使用打印机字体,返回的值可能不准确。打印机字体并非总是可访问的,因此如果提供了打印机字体,则使用最接近的屏幕字体。)
  2. QWidget::fontInfo() 返回控件字体的字体信息。这相当于调用QFontInfo(widget->font())。如果稍后更改了控件的字体,则不会更新字体信息对象。
  3. QPainter::fontInfo() 返回画家当前字体的字体信息。如果稍后更改了Painter的字体,则不会更新字体信息对象。

你可能感兴趣的:(#,▶,Qt扫盲,QFontInfo,QFontInfo理论,Qt字体信息,qt5)