QFontComboBox 类

The QFontComboBox widget is a combobox that lets the user select a font family. 更多信息...

头文件 #include <QFontComboBox>
CMakefind_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmakeQT += widgets
继承 QComboBox

公共类型

枚举FontFilter { AllFonts, ScalableFonts, NonScalableFonts, MonospacedFonts, ProportionalFonts }
flagsFontFilters

属性

公共函数

QFontComboBox(QWidget *parent = nullptr)
virtual~QFontComboBox()
QFontcurrentFont() const
(since 6.3) std::optional<QFont>displayFont(const QString &fontFamily) const
QFontComboBox::FontFiltersfontFilters() const
(since 6.3) QStringsampleTextForFont(const QString &fontFamily) const
(since 6.3) QStringsampleTextForSystem(QFontDatabase::WritingSystem writingSystem) const
(since 6.3) voidsetDisplayFont(const QString &fontFamily, const QFont &font)
voidsetFontFilters(QFontComboBox::FontFilters filters)
(since 6.3) voidsetSampleTextForFont(const QString &fontFamily, const QString &sampleText)
(since 6.3) voidsetSampleTextForSystem(QFontDatabase::WritingSystem writingSystem, const QString &sampleText)
voidsetWritingSystem(QFontDatabase::WritingSystem)
QFontDatabase::WritingSystemwritingSystem() const

重写的公共函数

virtual QSizesizeHint() const override

公共槽

voidsetCurrentFont(const QFont &f)

信号

voidcurrentFontChanged(const QFont &font)

重新实现了受保护函数

virtual bool事件(QEvent *e) override

详细说明

组合框使用按字母顺序排列的字体家族名称列表填充,例如 Arial、Helvetica 和 Times New Roman。当可能时,会使用实际字体来显示家族名称。对于如 Symbol 这样的字体,其名称在字体本身中不可表示,会在家族名称旁边显示字体样本。

QFontComboBox 常用于工具栏中,与一个 QComboBox 结合用于控制字体大小,以及两个 QToolButton 用于加粗和斜体。

当用户选择一个新字体时,除了 currentIndexChanged(),还将发出 currentFontChanged() 信号。

调用 setWritingSystem() 来告诉 QFontComboBox 仅显示支持特定书写系统的字体,以及通过 setFontFilters() 过滤掉某些类型的字体,例如不可缩放字体或等宽字体。

Screenshot of QFontComboBox on Windows Vista

另请参阅QComboBoxQFontQFontInfoQFontMetricsQFontDatabase

成员类型文档

enum QFontComboBox::FontFilter
flags QFontComboBox::FontFilters

此枚举可用来在字体组合框中仅显示特定类型的字体。

常量描述
QFontComboBox::AllFonts0显示所有字体
QFontComboBox::ScalableFonts0x1显示可缩放字体
QFontComboBox::NonScalableFonts0x2显示不可缩放字体
QFontComboBox::MonospacedFonts0x4显示等宽字体
QFontComboBox::ProportionalFonts0x8显示成比例字体

FontFilters 类型是 QFlags<FontFilter> 的别称。它存储了 FontFilter 值的 OR 组合。

属性文档

currentFont : QFont

此属性持有当前选择的字体

访问函数

QFontcurrentFont() const
voidsetCurrentFont(const QFont &f)

通知信号

voidcurrentFontChanged(const QFont &font)

另请参阅currentIndexcurrentText

fontFilters : FontFilters

此属性持有组合框的过滤器

默认情况下,列出所有字体。

访问函数

QFontComboBox::FontFiltersfontFilters() const
voidsetFontFilters(QFontComboBox::FontFilters filters)

另请参阅writingSystem

writingSystem : QFontDatabase::WritingSystem

此属性持有作为组合框过滤器的书写系统

如果 scriptQFontDatabase::Any(默认值),则列出所有字体。

访问函数

QFontDatabase::WritingSystemwritingSystem() const
voidsetWritingSystem(QFontDatabase::WritingSystem)

另请参阅fontFilters

成员函数文档

[显式] QFontComboBox::QFontComboBox(QWidget *parent = nullptr)

以给定的 parent 构造一个字体组合框。

[虚,noexcept] QFontComboBox::~QFontComboBox()

销毁组合框。

[信号] void QFontComboBox::currentFontChanged(const QFont &font)

每当当前字体更改时,都会发出此信号,并带有新的 font

注意:当前字体的通知信号 currentFont

另请参阅currentFont

[自 6.3 版起] std::optional<QFont> QFontComboBox::displayFont(const QString &fontFamily) const

返回用于显示给定 fontFamily(当组合框打开时)的字体(如果已设置)。

此函数是在 Qt 6.3 中引入的。

另请参阅setDisplayFont

[重写虚保护] bool QFontComboBox::event(QEvent *e)

重新实现: QComboBox::event(QEvent *event)。

[自 6.3 版起] QString QFontComboBox::sampleTextForFont(const QString &fontFamily) const

返回用于在组合框打开后显示在给定 fontFamily 名称之后的示例文本。

此函数是在 Qt 6.3 中引入的。

另请参阅setSampleTextForFont

[自 6.3 版起] QString QFontComboBox::sampleTextForSystem(QFontDatabase::WritingSystem writingSystem) const

返回用于在组合框打开后显示在给定 writingSystem 名称之后的示例文本。

此函数是在 Qt 6.3 中引入的。

另请参阅setSampleTextForSystem

[自 6.3 版起] void QFontComboBox::setDisplayFont(const QString &fontFamily, const QFont &font)

设置用于显示给定 fontFamily(当组合框打开时)的字体。

此函数是在 Qt 6.3 中引入的。

另请参阅displayFont

[自 6.3 版起] void QFontComboBox::setSampleTextForFont(const QString &fontFamily, const QString &sampleText)

设置用于在组合框打开后显示在给定 fontFamily 名称之后的示例文本。

此函数给出的示例文本比 setSampleTextForSystem 设置的文本具有优先级。

此函数是在 Qt 6.3 中引入的。

另请参阅sampleTextForFont

[自6.3起] void QFontComboBox::setSampleTextForSystem(QFontDatabase::WritingSystem writingSystem, const QString &sampleText)

设置给定 writingSystem 在打开组合框后显示在字体名称之前的 sampleText

使用 setSampleTextForFont() 给定的示例文本具有优先级。

此函数是在 Qt 6.3 中引入的。

另见 sampleTextForSystem

[重写虚函数] QSize QFontComboBox::sizeHint() const

重写: QComboBox::sizeHint() const

© 2024 Qt公司。此处包含的文档贡献属于其各自所有者的版权。本处的文档是根据自由软件基金会发布的 GNU自由文档许可证版本1.3 许可的。Qt及相应标志是芬兰和/或其他国家和地区的Qt公司商标。所有其他商标均为其各自所有者的财产。