QFontComboBox 类

QFontComboBox 小部件是让用户选择字体系列的组合框。 更多...

头: #include <QFontComboBox>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
继承: QComboBox

公共类型

enum FontFilter { AllFonts, ScalableFonts, NonScalableFonts, MonospacedFonts, ProportionalFonts }
flags FontFilters

特性

公共函数

QFontComboBox (QWidget * parent = nullptr)
virtual ~QFontComboBox ()
QFont currentFont () const
(从 6.3 起) std::optional<QFont> displayFont (const QString & fontFamily ) const
QFontComboBox::FontFilters fontFilters () const
(从 6.3 起) QString sampleTextForFont (const QString & fontFamily ) const
(从 6.3 起) QString sampleTextForSystem (QFontDatabase::WritingSystem writingSystem ) const
(从 6.3 起) void setDisplayFont (const QString & fontFamily , const QFont & font )
void setFontFilters (QFontComboBox::FontFilters 过滤 )
(从 6.3 起) void setSampleTextForFont (const QString & fontFamily , const QString & sampleText )
(从 6.3 起) void setSampleTextForSystem (QFontDatabase::WritingSystem writingSystem , const QString & sampleText )
void setWritingSystem (QFontDatabase::WritingSystem)
QFontDatabase::WritingSystem writingSystem () const

重实现公共函数

virtual QSize sizeHint () const override

公共槽

void setCurrentFont (const QFont & f )

信号

void currentFontChanged (const QFont & font )

重实现保护函数

virtual bool event (QEvent * e ) override

详细描述

组合框是采用按字母顺序排列的字体系列名称 (譬如 Arial、Helvetica 及 Times New Roman) 列表填充的。系列名称的显示是使用实际字体,当可能时。譬如 Symbol 字体,若名称不以字体本身表示,则字体样本紧贴显示在系列名称旁。

QFontComboBox 经常用于工具栏,结合 QComboBox 为控制字体大小和两 QToolButton 对于加粗和斜体。

当用户选择新字体时, currentFontChanged () 信号发射,除了 currentIndexChanged ().

调用 setWritingSystem () 告诉 QFontComboBox 仅展示支持给定书写系统的字体,和 setFontFilters () 过滤掉某些类型的字体,如:不可伸缩字体 (或等宽字体)。

Screenshot of QFontComboBox on Windows Vista

另请参阅 QComboBox , QFont , QFontInfo , QFontMetrics ,和 QFontDatabase .

成员类型文档编制

enum QFontComboBox:: FontFilter
flags QFontComboBox:: FontFilters

此枚举可以用于仅展示字体组合框中的某些类型的字体。

常量 描述
QFontComboBox::AllFonts 0 展示所有字体
QFontComboBox::ScalableFonts 0x1 展示可伸缩字体
QFontComboBox::NonScalableFonts 0x2 展示不可伸缩字体
QFontComboBox::MonospacedFonts 0x4 展示等宽字体
QFontComboBox::ProportionalFonts 0x8 展示成正比字体

FontFilters 类型是 typedef 对于 QFlags <FontFilter>。它存储 FontFilter 值的 OR 组合。

特性文档编制

currentFont : QFont

此特性保持目前选中的字体

访问函数:

QFont currentFont () const
void setCurrentFont (const QFont & f )

通知程序信号:

void currentFontChanged (const QFont & font )

另请参阅 currentIndex and currentText .

fontFilters : FontFilters

此特性保持用于组合框的过滤器

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

访问函数:

QFontComboBox::FontFilters fontFilters () const
void setFontFilters (QFontComboBox::FontFilters 过滤 )

另请参阅 writingSystem .

writingSystem : QFontDatabase::WritingSystem

此特性保持充当组合框筛选器的写入系统

script is QFontDatabase::Any (默认),列出所有字体。

访问函数:

QFontDatabase::WritingSystem writingSystem () const
void setWritingSystem (QFontDatabase::WritingSystem)

另请参阅 fontFilters .

成员函数文档编制

[explicit] QFontComboBox:: QFontComboBox ( QWidget * parent = nullptr)

构造字体组合框采用给定 parent .

[virtual noexcept] QFontComboBox:: ~QFontComboBox ()

销毁组合框。

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

此信号发射,每当当前字体改变时,采用新的 font .

注意: 通知程序信号对于特性 currentFont .

另请参阅 currentFont .

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

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

该函数在 Qt 6.3 引入。

另请参阅 setDisplayFont ().

[override virtual protected] bool QFontComboBox:: event ( QEvent * e )

重实现: QComboBox::event (QEvent *event).

[since 6.3] QString QFontComboBox:: sampleTextForFont (const QString & fontFamily ) const

返回字体名称后展示的样本文本 (当组合打开时) 为给定 fontFamily .

该函数在 Qt 6.3 引入。

另请参阅 setSampleTextForFont ().

[since 6.3] QString QFontComboBox:: sampleTextForSystem ( QFontDatabase::WritingSystem writingSystem ) const

返回字体名称后展示的样本文本 (当组合打开时) 为给定 writingSystem .

该函数在 Qt 6.3 引入。

另请参阅 setSampleTextForSystem ().

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

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

该函数在 Qt 6.3 引入。

另请参阅 displayFont ().

[since 6.3] void QFontComboBox:: setSampleTextForFont (const QString & fontFamily , const QString & sampleText )

设置 sampleText 展示在字体名称后 (当组合打开时) 为给定 fontFamily .

由此函数给出的样本文本拥有的优先级,优于设置采用 setSampleTextForSystem ().

该函数在 Qt 6.3 引入。

另请参阅 sampleTextForFont ().

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

设置 sampleText 展示在字体名称后 (当组合打开时) 为给定 writingSystem .

给定样本文本采用 setSampleTextForFont () 拥有优先级。

该函数在 Qt 6.3 引入。

另请参阅 sampleTextForSystem ().

[override virtual] QSize QFontComboBox:: sizeHint () const

重实现: QComboBox::sizeHint () const.