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公司商标。所有其他商标均为其各自所有者的财产。