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 () 过滤掉某些类型的字体,如:不可伸缩字体 (或等宽字体)。
另请参阅 QComboBox , QFont , QFontInfo , QFontMetrics ,和 QFontDatabase .
此枚举可以用于仅展示字体组合框中的某些类型的字体。
| 常量 | 值 | 描述 |
|---|---|---|
QFontComboBox::AllFonts
|
0
|
展示所有字体 |
QFontComboBox::ScalableFonts
|
0x1
|
展示可伸缩字体 |
QFontComboBox::NonScalableFonts
|
0x2
|
展示不可伸缩字体 |
QFontComboBox::MonospacedFonts
|
0x4
|
展示等宽字体 |
QFontComboBox::ProportionalFonts
|
0x8
|
展示成正比字体 |
FontFilters 类型是 typedef 对于 QFlags <FontFilter>。它存储 FontFilter 值的 OR 组合。
此特性保持目前选中的字体
访问函数:
| QFont | currentFont () const |
| void | setCurrentFont (const QFont & f ) |
通知程序信号:
| void | currentFontChanged (const QFont & font ) |
另请参阅 currentIndex and currentText .
此特性保持用于组合框的过滤器
默认情况下,列出所有字体。
访问函数:
| QFontComboBox::FontFilters | fontFilters () const |
| void | setFontFilters (QFontComboBox::FontFilters 过滤 ) |
另请参阅 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.