QFontComboBox 类
The QFontComboBox widget is a combobox that lets the user select a font family. 更多信息...
| 头文件 | #include <QFontComboBox> | 
| CMake | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) | 
| qmake | QT += widgets | 
| 继承 | QComboBox | 
公共类型
| 枚举 | FontFilter { AllFonts, ScalableFonts, NonScalableFonts, MonospacedFonts, ProportionalFonts } | 
| flags | FontFilters | 
属性
- currentFont : QFont
- fontFilters : FontFilters
- writingSystem : QFontDatabase::WritingSystem
公共函数
| QFontComboBox(QWidget *parent = nullptr) | |
| virtual | ~QFontComboBox() | 
| QFont | currentFont() const | 
| (since 6.3)std::optional<QFont> | displayFont(const QString &fontFamily) const | 
| QFontComboBox::FontFilters | fontFilters() const | 
| (since 6.3)QString | sampleTextForFont(const QString &fontFamily) const | 
| (since 6.3)QString | sampleTextForSystem(QFontDatabase::WritingSystem writingSystem) const | 
| (since 6.3)void | setDisplayFont(const QString &fontFamily, const QFont &font) | 
| void | setFontFilters(QFontComboBox::FontFilters filters) | 
| (since 6.3)void | setSampleTextForFont(const QString &fontFamily, const QString &sampleText) | 
| (since 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 | 事件(QEvent *e) override | 
详细说明
组合框使用按字母顺序排列的字体家族名称列表填充,例如 Arial、Helvetica 和 Times New Roman。当可能时,会使用实际字体来显示家族名称。对于如 Symbol 这样的字体,其名称在字体本身中不可表示,会在家族名称旁边显示字体样本。
QFontComboBox 常用于工具栏中,与一个 QComboBox 结合用于控制字体大小,以及两个 QToolButton 用于加粗和斜体。
当用户选择一个新字体时,除了 currentIndexChanged(),还将发出 currentFontChanged() 信号。
调用 setWritingSystem() 来告诉 QFontComboBox 仅显示支持特定书写系统的字体,以及通过 setFontFilters() 过滤掉某些类型的字体,例如不可缩放字体或等宽字体。

另请参阅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 类型是 QFlags<FontFilter> 的别称。它存储了 FontFilter 值的 OR 组合。
属性文档
currentFont : QFont
此属性持有当前选择的字体
访问函数
| QFont | currentFont() const | 
| void | setCurrentFont(const QFont &f) | 
通知信号
| void | currentFontChanged(const QFont &font) | 
另请参阅currentIndex 和 currentText。
fontFilters : FontFilters
此属性持有组合框的过滤器
默认情况下,列出所有字体。
访问函数
| QFontComboBox::FontFilters | fontFilters() const | 
| void | setFontFilters(QFontComboBox::FontFilters filters) | 
另请参阅writingSystem。
writingSystem : QFontDatabase::WritingSystem
此属性持有作为组合框过滤器的书写系统
如果 script 是 QFontDatabase::Any(默认值),则列出所有字体。
访问函数
| QFontDatabase::WritingSystem | writingSystem() const | 
| void | setWritingSystem(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 中引入的。
[自 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 中引入的。
[重写虚函数] QSize QFontComboBox::sizeHint() const
© 2024 Qt公司。此处包含的文档贡献属于其各自所有者的版权。本处的文档是根据自由软件基金会发布的 GNU自由文档许可证版本1.3 许可的。Qt及相应标志是芬兰和/或其他国家和地区的Qt公司商标。所有其他商标均为其各自所有者的财产。