QFontInfo理论
- 一、概述
- 二、创建QFontInfo对象
一、概述
QFontInfo类提供了关于字体的一般信息,包括是否是加粗、是否是斜体、字体大小、字体名称等等,使用也非常简单,其实就是一个属性查询类而已。
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对象。
- 用QFont调用QFontInfo构造函数创建一个屏幕兼容字体的字体信息对象,也就是说,该字体不能是打印机字体。如果稍后更改字体,则不更新字体信息对象。
(注意:如果使用打印机字体,返回的值可能不准确。打印机字体并非总是可访问的,因此如果提供了打印机字体,则使用最接近的屏幕字体。) - QWidget::fontInfo() 返回控件字体的字体信息。这相当于调用QFontInfo(widget->font())。如果稍后更改了控件的字体,则不会更新字体信息对象。
- QPainter::fontInfo() 返回画家当前字体的字体信息。如果稍后更改了Painter的字体,则不会更新字体信息对象。