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.