PySide6.QtGui.QFontInfo¶
- class QFontInfo¶
-
概要¶
方法¶
def
__init__()def
bold()def
exactMatch()def
family()def
fixedPitch()def
italic()def
legacyWeight()def
overline()def
pixelSize()def
pointSize()def
pointSizeF()def
strikeOut()def
style()def
styleHint()def
styleName()def
swap()def
underline()def
weight()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
QFontInfo类提供了与QFont相同的访问函数,例如family()、pointSize()、italic()、weight()、fixedPitch()、styleHint()等。但是,QFont的访问函数返回的是设置的值,而QFontInfo对象返回的是实际用于绘制文本的字体的值。例如,当程序在具有不可缩放的24pt Courier字体的机器上请求25pt Courier字体时,
QFont将(通常)使用24pt Courier进行渲染。在这种情况下,pointSize()返回25,而pointSize()返回24。有三种方法可以创建一个
QFontInfo对象。使用
QFont调用QFontInfo构造函数会创建一个与屏幕兼容的字体信息对象,即该字体不能是打印机字体。如果稍后更改了字体,字体信息对象不会更新。(注意:如果使用打印机字体,返回的值可能不准确。打印机字体并不总是可访问的,因此如果提供了打印机字体,将使用最接近的屏幕字体。)
QWidget::fontInfo() 返回小部件字体的字体信息。这相当于调用
QFontInfo(widget->font())。如果小部件的字体后来被更改,字体信息对象不会更新。fontInfo()返回画师当前字体的字体信息。如果画师的字体后来被更改,字体信息对象不会更新。
检查字体是否存在¶
有时在尝试使用字体之前检查字体是否存在可能很有用。最彻底的方法是使用
exactMatch():const QFont segoeFont(QLatin1String("Segoe UI")); if (QFontInfo(segoeFont).exactMatch()) { // Use the font... }
然而,这种对字体的深度搜索在某些平台上可能会很昂贵。
QFontDatabase::families().contains()是一个更快但不够彻底的替代方案:const QLatin1String segoeUiFamilyName("Segoe UI"); if (QFontDatabase::families().contains(segoeUiFamilyName)) { const QFont segoeFont(segoeUiFamilyName); // Use the font... }
这种方法不够彻底,因为它不是一次完整的搜索:列表中可能会缺少一些字体家族的别名。然而,这种方法可以加快应用程序的启动时间,因此如果可能的话,应该始终优先考虑。
为
font构建一个字体信息对象。字体必须与屏幕兼容,即在小部件或
pixmaps中绘制文本时使用的字体,而不是QPicture或QPrinter。字体信息对象保存了在创建时传递给构造函数的字体信息,如果之后字体的属性发生变化,该信息不会被更新。
使用
fontInfo()来获取绘制时的字体信息。这将在绘制与屏幕不兼容的绘制设备时也能给出正确的结果。另请参阅
检查 字体 的 存在- __init__(fi)
- Parameters:
fi –
QFontInfo
构造
fi的副本。- bold()¶
- Return type:
布尔
如果
weight()返回的值大于Normal,则返回true;否则返回false。- exactMatch()¶
- Return type:
布尔
如果匹配的窗口系统字体与指定的字体完全相同,则返回
true;否则返回false。另请参阅
- family()¶
- Return type:
字符串
返回匹配的窗口系统字体的家族名称。
另请参阅
family()检查 字体 的 存在- fixedPitch()¶
- Return type:
布尔
返回匹配的窗口系统字体的固定间距值。
另请参阅
- italic()¶
- Return type:
布尔
返回匹配的窗口系统字体的斜体值。
另请参阅
- legacyWeight()¶
- Return type:
整数
注意
此函数已弃用。
请使用
weight()代替。返回转换为Qt 5及更早版本中使用的非标准字体重量比例的字体重量。
自 Qt 6 起,使用了 OpenType 标准的字体重量比例,而非非标准比例。这需要从使用旧比例的值进行转换。为了方便起见,当从使用旧重量比例的代码移植时,可以使用此函数。
另请参阅
- overline()¶
- Return type:
布尔
- pixelSize()¶
- Return type:
整数
返回匹配的窗口系统字体的像素大小。
另请参阅
- pointSize()¶
- Return type:
整数
返回匹配的窗口系统字体的点大小。
另请参阅
- pointSizeF()¶
- Return type:
浮点数
返回匹配的窗口系统字体的点大小。
另请参阅
- strikeOut()¶
- Return type:
布尔
返回匹配的窗口系统字体的样式值。
另请参阅
返回匹配的窗口系统字体的样式。
目前仅返回在
QFont中设置的样式提示。另请参阅
- styleName()¶
- Return type:
字符串
返回在支持的系统上匹配的窗口系统字体的样式名称。
另请参阅
将此字体信息实例与
other交换。此函数非常快且永远不会失败。- underline()¶
- Return type:
布尔
- weight()¶
- Return type:
整数
返回匹配的窗口系统字体的权重。