class QFontDatabase#

QFontDatabase 类提供了底层窗口系统中可用字体的信息。更多...

概要#

方法#

静态函数#

本说明书可能包含自动从C++翻译到Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译有问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单的方式来告诉我们。

详细说明#

警告

本节包含自动从C++翻译到Python的代码片段,可能包含错误。

此类最常见的用途是用来查询数据库获取字体的 families() 列表以及每个字体家族可用的 pointSizes()styles()。作为 pointSizes() 的替代方案,smoothSizes() 可以返回给定家族和样式看起来吸引人的大小。

如果字体家族可以从两个或更多字库获取,那么字库名将包含在家族名称中;例如:“Helvetica [Adobe]”和“Helvetica [Cronyx]”。当你指定一个家族时,你可以使用旧的连字符连接的“foundry-family”格式或括号内的“family [foundry]”格式;例如:“Cronyx-Helvetica”或“Helvetica [Cronyx]”。如果家族有字库,它总是使用括号格式返回,就像由 families() 返回的值一样。

函数 font() 根据家族、样式和点大小返回一个 QFont 对象。

可以检查一个家族和样式的组合是否为 italic()bold() ,并获取其 weight()。类似地,我们可以调用 isBitmapScalable()isSmoothlyScalable()isScalable()isFixedPitch()

使用 styleString() 获取样式的文本版本。

《QFontDatabase`类提供了一些辅助函数,例如`standardSizes()``。您可以使用`writingSystemName()`获取字系统的描述,以及使用`writingSystemSample()`获取字系统中的字符示例。

示例

fontTree = QTreeWidget()
fontTree.setColumnCount(2)
fontTree.setHeaderLabels(QStringList() << "Font" << "Smooth Sizes")
fontFamilies = QFontDatabase.families()
for family in fontFamilies:
    familyItem = QTreeWidgetItem(fontTree)
    familyItem.setText(0, family)
    fontStyles = QFontDatabase.styles(family)
    for style in fontStyles:
        styleItem = QTreeWidgetItem(familyItem)
        styleItem.setText(0, style)
        sizes = QString()
        smoothSizes = QFontDatabase.smoothSizes(family, style)
        for points in smoothSizes:
            sizes += QString.number(points) + ' '
        styleItem.setText(1, sizes.trimmed())

此示例获取字体族列表、每个字族的样式列表,以及每个字体族和样式的组合可用的点大小,并以树形视图显示这些信息。

class WritingSystem#

常量

描述

QFontDatabase.Any

QFontDatabase.Latin

QFontDatabase.Greek

QFontDatabase.Cyrillic

QFontDatabase.Armenian

QFontDatabase.Hebrew

QFontDatabase.Arabic

QFontDatabase.Syriac

QFontDatabase.Thaana

QFontDatabase.Devanagari

QFontDatabase.Bengali

QFontDatabase.Gurmukhi

QFontDatabase.Gujarati

QFontDatabase.Oriya

QFontDatabase.Tamil

QFontDatabase.Telugu

QFontDatabase.Kannada

QFontDatabase.Malayalam

QFontDatabase.Sinhala

QFontDatabase.Thai

QFontDatabase.Lao

QFontDatabase.Tibetan

QFontDatabase.Myanmar

QFontDatabase.Georgian

QFontDatabase.Khmer

QFontDatabase.SimplifiedChinese

QFontDatabase.TraditionalChinese

QFontDatabase.Japanese

QFontDatabase.Korean

QFontDatabase.Vietnamese

QFontDatabase.Symbol

QFontDatabase.Other

(与Symbol相同)

QFontDatabase.Ogham

QFontDatabase.Runic

QFontDatabase.Nko

class SystemFont#

常量

描述

QFontDatabase.GeneralFont

默认系统字体。

QFontDatabase.FixedFont

系统推荐的限制字体。

QFontDatabase.TitleFont

系统标准标题字体。

QFontDatabase.SmallestReadableFont

最小的可读系统字体。

__init__()#

此函数已弃用。

请使用类方法作为静态函数进行调用。

创建一个字体数据库对象。

static addApplicationFont(fileName)#
参数:

fileName – str

返回类型:

int

从指定文件 fileName 中加载字体,使其可供应用程序使用。返回一个ID,可用于使用 removeApplicationFont() 函数再次删除字体,或者用于检索字体中包含的字体族名称。

如果无法加载字体,则函数返回-1。

当前支持TrueType字体、TrueType字体集合和OpenType字体。

static addApplicationFontFromData(fontData)#
参数:

fontDataQByteArray

返回类型:

int

从由 fontData 指定的二进制数据中加载字体,使其可供应用程序使用。返回一个ID,可用于使用 removeApplicationFont() 函数再次删除字体,或者用于检索字体中包含的字体族名称。

如果无法加载字体,则函数返回-1。

当前支持TrueType字体、TrueType字体集合和OpenType字体。

static applicationFontFamilies(id)#
参数:

id – int

返回类型:

字符串列表

返回由 id 标识的应用程序字体的字体族列表。

static bold(family, style)#
参数:
  • family – 字符串

  • style – 字符串

返回类型:

布尔值

如果具有字体族 family 和样式 style 的字体是粗体,则返回 true;否则返回 false

另请参阅

italic() weight()

静态 families([writingSystem=QFontDatabase.WritingSystem.Any])#
参数:

writingSystem - WritingSystem

返回类型:

字符串列表

返回支持 writingSystem 的可用字体族排序列表。

如果存在多个铸造厂的字体族,则字体返回的名称形式为“family [foundry]”。例如:“Times [Adobe]”,“Times [Cronyx]”,“Palatino”。

另请参阅

writingSystems()

静态 font(family, style, pointSize)#
参数:
  • family – 字符串

  • style – 字符串

  • pointSize - int

返回类型:

QFont

返回具有字体族 family、样式 style 和点大小 pointSizeQFont 对象。如果没有创建出匹配的字体,则返回使用应用程序默认字体的 QFont 对象。

静态 hasFamily(family)#
参数:

family – 字符串

返回类型:

布尔值

静态 isBitmapScalable(family[, style=""])#
参数:
  • family – 字符串

  • style – 字符串

返回类型:

布尔值

如果具有字体族 family 和样式 style 的字体是可缩放的位图字体,则返回 true;否则返回 false。缩放位图字体通常会产生不吸引人的难以阅读的结果,因为字体的像素被缩放。如果您需要缩放位图字体,请将其缩放到 smoothSizes() 返回的固定大小之一。

static isFixedPitch(family[, style=""])#
参数:
  • family – 字符串

  • style – 字符串

返回类型:

布尔值

如果具有指定 familystyle 的字体是固定间距字体,则返回 true;否则返回 false

static isPrivateFamily(family)#
参数:

family – 字符串

返回类型:

布尔值

如果指定的 family 字体系列是私有的,则返回 true

例如,在 macOS 和 iOS 上,系统 UI 字体对用户不可用。为了完整性,families() 返回所有字体系列,包括私有的字体系列。如果您正在开发字体选择控件,以隐藏私有字体,则应使用此函数。

另请参阅

families()

static isScalable(family[, style=""])#
参数:
  • family – 字符串

  • style – 字符串

返回类型:

布尔值

如果具有指定 familystyle 的字体是可缩放的,则返回 true;否则返回 false

static isSmoothlyScalable(family[, style=""])#
参数:
  • family – 字符串

  • style – 字符串

返回类型:

布尔值

如果具有指定 familystyle 的字体是平滑可缩放的,则返回 true。否则返回 false。如果此函数返回 true,则可以安全地将此字体缩放到任何大小,并且结果始终看起来很有吸引力。

静态italic(family, style)#
参数:
  • family – 字符串

  • style – 字符串

返回类型:

布尔值

如果具有家庭 family 和样式 style 的字体是斜体,则返回 true;否则返回 false

另请参阅

weight() bold()

静态pointSizes(family[, style=""])#
参数:
  • family – 字符串

  • style – 字符串

返回类型:

整数列表

返回具有家庭 family 和样式 styleName 的字体可用的点大小列表。该列表可能为空。

静态removeAllApplicationFonts()#
返回类型:

布尔值

移除之前使用 addApplicationFont()addApplicationFontFromData() 添加的所有应用本地字体。

如果卸载字体成功,返回 true;否则返回 false

静态removeApplicationFont(id)#
参数:

id – int

返回类型:

布尔值

删除以前加载的应用字体,该字体由 id 标识。如果字体卸载成功,则返回 true;否则返回 false

static smoothSizes(family, style)#
参数:
  • family – 字符串

  • style – 字符串

返回类型:

整数列表

返回具有 family 家族和 styleName 风格的字体的大小点,使其看起来更吸引人。列表可能为空。对于不可伸缩的字体和位图可伸缩字体,此函数等价于 pointSizes()

static standardSizes()#
返回类型:

整数列表

返回标准字体大小的列表。

static styleString(font)#
参数:

fontQFont

返回类型:

str

返回描述 font 样式的字符串。例如,“粗体斜体”,“粗体”,“斜体”或“正常”。可能返回空字符串。

static styleString(fontInfo)
参数:

fontInfoQFontInfo

返回类型:

str

返回描述 fontInfo 样式的字符串。例如,“粗体斜体”,“粗体”,“斜体”或“正常”。可能返回空字符串。

静态 styles(family)#
参数:

family – 字符串

返回类型:

字符串列表

返回字体家族 family 可用的样式列表。一些示例样式:“细体”,“斜体细体”,“粗体”,“倾斜体”,“半粗体”。列表可能为空。

另请参阅

families()

静态 systemFont(type)#
参数:

类型SystemFont

返回类型:

QFont

返回最适合给定 type 情况的字体,以便与系统的外观和感觉正确集成。

另请参阅

font()

静态 weight(family, style)#
参数:
  • family – 字符串

  • style – 字符串

返回类型:

int

返回具有家族 family 和样式 style 的字体的重量。如果不存在此类家族和样式的组合,则返回 -1。

另请参阅

italic() bold()

静态 writingSystemName(writingSystem)#
参数:

writingSystem - WritingSystem

返回类型:

str

返回 writingSystem 的名称(例如,用于在对话框中显示给用户)。

静态 writingSystemSample(writingSystem)#
参数:

writingSystem - WritingSystem

返回类型:

str

返回来自 writingSystem 的示例字符字符串。

静态 writingSystems()#
返回类型:

QFontDatabase.WritingSystem 的列表

返回可用的书写系统的排序列表。这是从系统上安装的字体信息生成的一个列表。

另请参阅

families()

静态 writingSystems(family)
参数:

family – 字符串

返回类型:

QFontDatabase.WritingSystem 的列表

返回给定字体 family 支持的书写系统的排序列表。

另请参阅

families()