PySide6.QtGui.QFontDatabase

class QFontDatabase

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

概要

方法

静态函数

注意

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

详细描述

警告

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

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

如果字体家族可以从两个或更多的铸造厂获得,铸造厂名称将包含在家族名称中;例如:“Helvetica [Adobe]”和“Helvetica [Cronyx]”。当您指定一个家族时,您可以使用旧的连字符“铸造厂-家族”格式或括号“家族 [铸造厂]”格式;例如:“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.天城文

QFontDatabase.Bengali

QFontDatabase.Gurmukhi

QFontDatabase.古吉拉特语

QFontDatabase.Oriya

QFontDatabase.Tamil

QFontDatabase.Telugu

QFontDatabase.Kannada

QFontDatabase.Malayalam

QFontDatabase.Sinhala

QFontDatabase.泰语

QFontDatabase.Lao

QFontDatabase.Tibetan

QFontDatabase.缅甸

QFontDatabase.Georgian

QFontDatabase.Khmer

QFontDatabase.简体中文

QFontDatabase.繁体中文

QFontDatabase.日语

QFontDatabase.Korean

QFontDatabase.越南语

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)
Parameters:

fileName – str

Return type:

整数

fileName指定的文件加载字体,并使其可供应用程序使用。返回一个ID,该ID可用于通过removeApplicationFont()再次移除字体,或检索字体中包含的字体家族名称列表。

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

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

static addApplicationFontFromData(fontData)
Parameters:

fontDataQByteArray

Return type:

整数

从由fontData指定的二进制数据加载字体,并使其对应用程序可用。返回一个ID,该ID可用于通过removeApplicationFont()再次移除字体,或检索字体中包含的家族名称列表。

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

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

static applicationFontFamilies(id)
Parameters:

id – int

Return type:

字符串列表

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

static bold(family, style)
Parameters:
  • family – str

  • style – str

Return type:

布尔

如果字体家族为family且样式为style的字体是粗体,则返回true;否则返回false

另请参阅

italic() weight()

static families([writingSystem=QFontDatabase.WritingSystem.Any])
Parameters:

writingSystemWritingSystem

Return type:

字符串列表

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

如果一个字体家族存在于多个铸造厂中,返回的字体名称将以“家族 [铸造厂]”的形式呈现。例如:“Times [Adobe]”、“Times [Cronyx]”、“Palatino”。

另请参阅

writingSystems()

static font(family, style, pointSize)
Parameters:
  • family – str

  • style – str

  • pointSize – int

Return type:

QFont

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

static hasFamily(family)
Parameters:

family – str

Return type:

布尔

static isBitmapScalable(family[, style=""])
Parameters:
  • family – str

  • style – str

Return type:

布尔

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

static isFixedPitch(family[, style=""])
Parameters:
  • family – str

  • style – str

Return type:

布尔

如果字体家族为family且样式为style的字体是等宽字体,则返回true;否则返回false

static isPrivateFamily(family)
Parameters:

family – str

Return type:

布尔

当且仅当family字体家族为私有时,返回true

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

另请参阅

families()

static isScalable(family[, style=""])
Parameters:
  • family – str

  • style – str

Return type:

布尔

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

static isSmoothlyScalable(family[, style=""])
Parameters:
  • family – str

  • style – str

Return type:

布尔

如果具有家族 family 和样式 style 的字体可以平滑缩放,则返回 true;否则返回 false。如果此函数返回 true,则可以安全地将此字体缩放到任何大小,结果将始终看起来很有吸引力。

static italic(family, style)
Parameters:
  • family – str

  • style – str

Return type:

布尔

如果字体家族为 family 且样式为 style 的字体是斜体,则返回 true;否则返回 false

另请参阅

weight() bold()

static pointSizes(family[, style=""])
Parameters:
  • family – str

  • style – str

Return type:

整数列表

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

static removeAllApplicationFonts()
Return type:

布尔

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

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

static removeApplicationFont(id)
Parameters:

id – int

Return type:

布尔

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

static smoothSizes(family, style)
Parameters:
  • family – str

  • style – str

Return type:

整数列表

返回具有family字体族和styleName样式的字体的点大小,这些点大小看起来会很有吸引力。列表可能为空。对于非可缩放字体和位图可缩放字体,此函数等同于pointSizes()

static standardSizes()
Return type:

整数列表

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

static styleString(font)
Parameters:

字体QFont

Return type:

字符串

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

static styleString(fontInfo)
Parameters:

fontInfoQFontInfo

Return type:

字符串

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

static styles(family)
Parameters:

family – str

Return type:

字符串列表

返回字体族family可用的样式列表。一些示例样式:“Light”(轻体)、“Light Italic”(轻体斜体)、“Bold”(粗体)、“Oblique”(斜体)、“Demi”(半粗体)。该列表可能为空。

另请参阅

families()

static systemFont(type)
Parameters:

类型SystemFont

Return type:

QFont

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

另请参阅

font()

static weight(family, style)
Parameters:
  • family – str

  • style – str

Return type:

整数

返回具有字体族 family 和样式 style 的字体的权重。如果没有这样的字体族和样式组合,则返回 -1。

另请参阅

italic() bold()

static writingSystemName(writingSystem)
Parameters:

writingSystemWritingSystem

Return type:

字符串

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

static writingSystemSample(writingSystem)
Parameters:

writingSystemWritingSystem

Return type:

字符串

返回一个包含来自writingSystem的示例字符的字符串。

static writingSystems()
Return type:

QFontDatabase.WritingSystem 的列表

返回可用书写系统的排序列表。此列表是根据系统中所有已安装字体的信息生成的。

另请参阅

families()

static writingSystems(family)
Parameters:

family – str

Return type:

QFontDatabase.WritingSystem 的列表

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

另请参阅

families()