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
std::optional<QFont> displayFont (const QString & fontFamily ) const
QFontComboBox::FontFilters fontFilters () const
QString sampleTextForFont (const QString & fontFamily ) const
QString sampleTextForSystem (QFontDatabase::WritingSystem writingSystem ) const
void setDisplayFont (const QString & fontFamily , const QFont & font )
void setFontFilters (QFontComboBox::FontFilters filters )
void setSampleTextForFont (const QString & fontFamily , const QString & sampleText )
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 filters )

另請參閱 writingSystem .

writingSystem : QFontDatabase::WritingSystem

此特性保持充當組閤框篩選器的寫入係統

script is QFontDatabase::Any (默認),列齣所有字體。

訪問函數:

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

另請參閱 fontFilters .

成員函數文檔編製

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

構造字體組閤框采用給定 parent .

[虛擬] QFontComboBox:: ~QFontComboBox ()

銷毀組閤框。

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

此信號發射,每當當前字體改變時,采用新的 font .

注意: 通知程序信號對於特性 currentFont .

另請參閱 currentFont .

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

Returns the font (if set) to be used to display a given fontFamily (when the combo is open).

This function was introduced in 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

Returns the sample text to show after the font name (when the combo is open) for a given fontFamily .

This function was introduced in Qt 6.3.

另請參閱 setSampleTextForFont ().

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

Returns the sample text to show after the font name (when the combo is open) for a given writingSystem .

This function was introduced in Qt 6.3.

另請參閱 setSampleTextForSystem ().

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

設置 font to be used to display a given fontFamily (when the combo is open).

This function was introduced in Qt 6.3.

另請參閱 displayFont ().

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

設置 sampleText to show after the font name (when the combo is open) for a given fontFamily .

The sample text given with this function has priority over the one set with setSampleTextForSystem ().

This function was introduced in Qt 6.3.

另請參閱 sampleTextForFont ().

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

設置 sampleText to show after the font name (when the combo is open) for a given writingSystem .

The sample text given with setSampleTextForFont () has priority.

This function was introduced in Qt 6.3.

另請參閱 sampleTextForSystem ().

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

重實現: QComboBox::sizeHint() const .