QFont 類

QFont 類指定用於繪製文本的字體查詢。 更多...

頭: #include <QFont>
qmake: QT += gui

注意: 此類的所有函數 可重入 .

公共類型

enum Capitalization { MixedCase, AllUppercase, AllLowercase, SmallCaps, Capitalize }
enum HintingPreference { PreferDefaultHinting, PreferNoHinting, PreferVerticalHinting, PreferFullHinting }
enum SpacingType { PercentageSpacing, AbsoluteSpacing }
enum Stretch { AnyStretch, UltraCondensed, ExtraCondensed, Condensed, SemiCondensed, …, UltraExpanded }
enum Style { StyleNormal, StyleItalic, StyleOblique }
enum StyleHint { AnyStyle, SansSerif, Helvetica, Serif, Times, …, System }
enum StyleStrategy { PreferDefault, PreferBitmap, PreferDevice, PreferOutline, ForceOutline, …, ForceIntegerMetrics }
enum Weight { Thin, ExtraLight, Light, Normal, Medium, …, Black }

公共函數

QFont (const QFont & font )
QFont (const QFont & font , const QPaintDevice * pd )
QFont (const QString & family , int pointSize = -1, int weight = -1, bool italic = false)
QFont ()
QFont & operator= (QFont && other )
QFont & operator= (const QFont & font )
~QFont ()
bool bold () const
QFont::Capitalization capitalization () const
QString defaultFamily () const
bool exactMatch () const
QStringList families () const
QString family () const
bool fixedPitch () const
bool fromString (const QString & descrip )
QFont::HintingPreference hintingPreference () const
bool isCopyOf (const QFont & f ) const
bool italic () const
bool kerning () const
QString key () const
qreal letterSpacing () const
QFont::SpacingType letterSpacingType () const
bool overline () const
int pixelSize () const
int pointSize () const
qreal pointSizeF () const
QFont resolve (const QFont & other ) const
void setBold (bool enable )
void setCapitalization (QFont::Capitalization caps )
void setFamilies (const QStringList & families )
void setFamily (const QString & family )
void setFixedPitch (bool enable )
void setHintingPreference (QFont::HintingPreference hintingPreference )
void setItalic (bool enable )
void setKerning (bool enable )
void setLetterSpacing (QFont::SpacingType type , qreal spacing )
void setOverline (bool enable )
void setPixelSize (int pixelSize )
void setPointSize (int pointSize )
void setPointSizeF (qreal pointSize )
void setStretch (int factor )
void setStrikeOut (bool enable )
void setStyle (QFont::Style style )
void setStyleHint (QFont::StyleHint hint , QFont::StyleStrategy strategy = PreferDefault)
void setStyleName (const QString & styleName )
void setStyleStrategy (QFont::StyleStrategy s )
void setUnderline (bool enable )
void setWeight (int weight )
void setWordSpacing (qreal spacing )
int stretch () const
bool strikeOut () const
QFont::Style style () const
QFont::StyleHint styleHint () const
QString styleName () const
QFont::StyleStrategy styleStrategy () const
void swap (QFont & other )
QString toString () const
bool underline () const
int weight () const
qreal wordSpacing () const
QVariant operator QVariant () const
bool operator!= (const QFont & f ) const
bool operator< (const QFont & f ) const
bool operator== (const QFont & f ) const

靜態公共成員

void insertSubstitution (const QString & familyName , const QString & substituteName )
void insertSubstitutions (const QString & familyName , const QStringList & substituteNames )
void removeSubstitutions (const QString & familyName )
QString substitute (const QString & familyName )
QStringList substitutes (const QString & familyName )
QStringList substitutions ()
uint qHash (const QFont & font , uint seed = 0)
QDataStream & operator<< (QDataStream & s , const QFont & font )
QDataStream & operator>> (QDataStream & s , QFont & font )

詳細描述

可以將 QFont 視為是對係統中一種 (或多種) 字體的查詢。

當創建 QFont 對象時,可指定想要字體擁有的各種屬性。Qt 將使用帶有指定屬性的字體,或者若不存在匹配字體,Qt 將使用最接近匹配的安裝字體。實際使用的字體屬性檢索自 QFontInfo 對象。若窗口係統提供的準確匹配 exactMatch () 返迴 true 。使用 QFontMetricsF 能獲取度量值,如字符串的像素長度是使用 QFontMetrics::width()。

未具體設置的屬性不影響字體選擇算法,而是以首選默認值代替。

要加載通常由單文件錶示的特定物理字體,使用 QRawFont 代替。

注意, QGuiApplication instance must exist before a QFont can be used. You can set the application's default font with QGuiApplication::setFont ().

If a chosen font does not include all the characters that need to be displayed, QFont will try to find the characters in the nearest equivalent fonts. When a QPainter draws a character from a font the QFont will report whether or not it has the character; if it does not, QPainter 將繪製未填充正方形。

創建 QFont 像這樣:

QFont serifFont("Times", 10, QFont::Bold);
QFont sansFont("Helvetica [Cronyx]", 12);
					

在構造函數中設置的屬性也可以稍後設置,如 setFamily (), setPointSize (), setPointSizeF (), setWeight () 和 setItalic ()。剩餘屬性必須在構造後設置,如 setBold (), setUnderline (), setOverline (), setStrikeOut () 和 setFixedPitch (). QFontInfo 對象應該被創建 after 字體屬性已設置。 QFontInfo 對象不改變,即使更改字體的屬性。相應 get 函數,如 family (), pointSize () 等,返迴設置值,即使使用的值可能不同。實際值可以獲取自 QFontInfo 對象。

若請求字體係列不可用,可以影響 字體匹配算法 通過選取特定 QFont::StyleHint and QFont::StyleStrategy with setStyleHint ()。默認係列 (對應當前樣式提示) 的返迴是通過 defaultFamily ().

You can provide substitutions for font family names using insertSubstitution () 和 insertSubstitutions ()。可以移除代入采用 removeSubstitutions ()。使用 substitute () 檢索係列的第一代入,或檢索係列名稱自身若沒有代入。使用 substitutes () to retrieve a list of a family's substitutes (which may be empty). After substituting a font, you must trigger the updating of the font by destroying and re-creating all QFont objects.

Every QFont has a key () which you can use, for example, as the key in a cache or dictionary. If you want to store a user's font preferences you could use QSettings , writing the font information with toString () and reading it back with fromString (). The operator<<() and operator>>() functions are also available, but they work on a data stream.

It is possible to set the height of characters shown on the screen to a specified number of pixels with setPixelSize (); however using setPointSize () has a similar effect and provides device independence.

Loading fonts can be expensive, especially on X11. QFont contains extensive optimizations to make the copying of QFont objects fast, and to cache the results of the slow window system functions it depends upon.

字體匹配算法工作如下:

  1. 指定字體係列 (設置通過 setFamilies ()) 為搜索。
  2. 若找不到,那麼若有設置,則指定字體係列存在且可以用於錶示在使用書寫係統,將選中它。
  3. If not, a replacement font that supports the writing system is selected. The font matching algorithm will try to find the best match for all the properties set in the QFont. How this is done varies from platform to platform.
  4. If no font exists on the system that can support the text, then special "missing character" boxes will be shown in its place.

注意: If the selected font, though supporting the writing system in general, is missing glyphs for one or more specific characters, then Qt will try to find a fallback font for this or these particular characters. This feature can be disabled using QFont::NoFontMerging style strategy.

In Windows a request for the "Courier" font is automatically changed to "Courier New", an improved version of Courier that allows for smooth scaling. The older "Courier" bitmap font can be selected by setting the PreferBitmap 樣式對策 (見 setStyleStrategy ()).

一旦找到字體,剩餘屬性將按優先級次序匹配:

  1. fixedPitch ()
  2. pointSize () (見下文)
  3. weight ()
  4. style ()

If you have a font which matches on family, even if none of the other attributes match, this font will be chosen in preference to a font which doesn't match on family but which does match on the other attributes. This is because font family is the dominant search criteria.

The point size is defined to match if it is within 20% of the requested point size. When several fonts match and are only distinguished by point size, the font with the closest point size to the one requested will be chosen.

The actual family, font size, weight and other font attributes used for drawing text will depend on what's available for the chosen family under the window system. A QFontInfo object can be used to determine the actual values used for drawing the text.

範例:

QFont f("Helvetica");
					

若擁有 Adobe 和 Cronyx Helvetica 兩者,可以獲取任一。

QFont f("Helvetica [Cronyx]");
					

You can specify the foundry you want in the family name. The font f in the above example will be set to "Helvetica [Cronyx]".

To determine the attributes of the font actually used in the window system, use a QFontInfo 對象,如

QFontInfo info(f1);
QString family = info.family();
					

要找齣字體規格,使用 QFontMetrics 對象,如

QFontMetrics fm(f1);
int textWidthInPixels = fm.horizontalAdvance("How many pixels wide is this text?");
int textHeightInPixels = fm.height();
					

對於字體的更多一般信息,見 comp.fonts FAQ 。有關編碼的信息可以找到從 Roman Czyborra's 頁麵。

另請參閱 QFontMetrics , QFontInfo , QFontDatabase ,和 字符映射範例 .

成員類型文檔編製

enum QFont:: Capitalization

此字體應用於文本的渲染選項。

常量 描述
QFont::MixedCase 0 This is the normal text rendering option where no capitalization change is applied.
QFont::AllUppercase 1 這以全大寫類型方式更改要渲染文本。
QFont::AllLowercase 2 這以全小寫類型方式更改要渲染文本。
QFont::SmallCaps 3 This alters the text to be rendered in small-caps type.
QFont::Capitalize 4 This alters the text to be rendered with the first character of each word as an uppercase character.

該枚舉在 Qt 4.4 引入或被修改。

enum QFont:: HintingPreference

This enum describes the different levels of hinting that can be applied to glyphs to improve legibility on displays where it might be warranted by the density of pixels.

常量 描述
QFont::PreferDefaultHinting 0 Use the default hinting level for the target platform.
QFont::PreferNoHinting 1 If possible, render text without hinting the outlines of the glyphs. The text layout will be typographically accurate and scalable, using the same metrics as are used e.g. when printing.
QFont::PreferVerticalHinting 2 If possible, render text with no horizontal hinting, but align glyphs to the pixel grid in the vertical direction. The text will appear crisper on displays where the density is too low to give an accurate rendering of the glyphs. But since the horizontal metrics of the glyphs are unhinted, the text's layout will be scalable to higher density devices (such as printers) without impacting details such as line breaks.
QFont::PreferFullHinting 3 If possible, render text with hinting in both horizontal and vertical directions. The text will be altered to optimize legibility on the target device, but since the metrics will depend on the target size of the text, the positions of glyphs, line breaks, and other typographical detail will not scale, meaning that a text layout may look different on devices with different pixel densities.

Please note that this enum only describes a preference, as the full range of hinting levels are not supported on all of Qt's supported platforms. The following table details the effect of a given hinting preference on a selected set of target platforms.

PreferDefaultHinting PreferNoHinting PreferVerticalHinting PreferFullHinting
Windows Vista (w/o 平颱更新) 及更早版本 完整提示 完整提示 完整提示 完整提示
Windows 7 和 Windows Vista (w/平颱更新) 及 Qt 啓用的 DirectWrite 完整提示 垂直提示 垂直提示 完整提示
FreeType 操作係統設置 不提示 Vertical hinting (light) 完整提示
在 macOS 的 Cocoa 不提示 不提示 不提示 不提示

注意: Please be aware that altering the hinting preference on Windows is available through the DirectWrite font engine. This is available on Windows Vista after installing the platform update, and on Windows 7. In order to use this extension, configure Qt using -directwrite. The target application will then depend on the availability of DirectWrite on the target system.

該枚舉在 Qt 4.8 引入或被修改。

enum QFont:: SpacingType

常量 描述
QFont::PercentageSpacing 0 值 100 將保持間距不變;值 200 將字符後間距擴大到字符本身寬度。
QFont::AbsoluteSpacing 1 正值遞增相應像素的字母間距;負值遞減間距。

該枚舉在 Qt 4.4 引入或被修改。

enum QFont:: Stretch

遵循 CSS 命名約定的預定義拉伸值。值越高,文本拉伸更多。

常量 描述
QFont::AnyStretch 0 0 接受任何拉伸匹配使用其它 QFont 特性 (在 Qt 5.8 添加)
QFont::UltraCondensed 50 50
QFont::ExtraCondensed 62 62
QFont::Condensed 75 75
QFont::SemiCondensed 87 87
QFont::Unstretched 100 100
QFont::SemiExpanded 112 112
QFont::Expanded 125 125
QFont::ExtraExpanded 150 150
QFont::UltraExpanded 200 200

另請參閱 setStretch () 和 stretch ().

enum QFont:: Style

此枚舉描述用於顯示文本的不同字形樣式。

常量 描述
QFont::StyleNormal 0 用於無樣式文本的 Normal (正常) 字形。
QFont::StyleItalic 1 為斜體文本錶示目的,專門設計的 Italic (斜體) 字形。
QFont::StyleOblique 2 具有斜體外觀的字形通常是基於無樣式的字形,但未對斜體文本錶示目的進行微調。

另請參閱 Weight .

enum QFont:: StyleHint

樣式提示用於 字體匹配 算法以查找適當默認係列,若選中的字體係列不可用。

常量 描述
QFont::AnyStyle 5 讓字體匹配算法選擇係列。這是默認。
QFont::SansSerif Helvetica 字體匹配器首選 SansSerif 字體。
QFont::Helvetica 0 同義詞 SansSerif .
QFont::Serif Times 字體匹配器首選 serif 字體。
QFont::Times 1 同義詞 Serif .
QFont::TypeWriter Courier 字體匹配器首選固定間距字體。
QFont::Courier 2 同義詞 TypeWriter .
QFont::OldEnglish 3 字體匹配器首選裝飾字體。
QFont::Decorative OldEnglish 同義詞 OldEnglish .
QFont::Monospace 7 字體匹配器首選映射到 CSS 一般字體係列 Monospace (等寬) 的字體。
QFont::Fantasy 8 字體匹配器首選映射到 CSS 一般字體係列 Fantasy (幻想) 的字體。
QFont::Cursive 6 字體匹配器首選映射到 CSS 一般字體係列 Cursive (草書) 的字體。
QFont::System 4 字體匹配器首選係統字體。

enum QFont:: StyleStrategy

樣式對策告訴 字體匹配 算法應使用什麼類型字體以查找閤適默認係列。

下列對策可用:

常量 描述
QFont::PreferDefault 0x0001 默認樣式戰略。它不首選任何類型的字體。
QFont::PreferBitmap 0x0002 首選位圖字體 (而不是輪廓字體)。
QFont::PreferDevice 0x0004 首選設備字體。
QFont::PreferOutline 0x0008 首選輪廓字體 (而不是位圖字體)。
QFont::ForceOutline 0x0010 強製使用輪廓字體。
QFont::NoAntialias 0x0100 不對字體抗鋸齒。
QFont::NoSubpixelAntialias 0x0800 避免亞像素字體抗鋸齒,若可能。
QFont::PreferAntialias 0x0080 抗鋸齒,若可能的話。
QFont::OpenGLCompatible 0x0200 該樣式對策從 Qt 5.15.0 起棄用。所有字體默認兼容 OpenGL。
QFont::NoFontMerging 0x8000 若為某種書寫係統選擇的字體不包含請求繪製的字符,那麼 Qt 會自動選取包含該字符的外觀類似字體。NoFontMerging 標誌會禁用此特徵。請注意,啓用此標誌不會阻止 Qt 自動拾取閤適字體,當所選字體不支持文本書寫係統時。
QFont::PreferNoShaping 0x1000 Sometimes, a font will apply complex rules to a set of characters in order to display them correctly. In some writing systems, such as Brahmic scripts, this is required in order for the text to be legible, but in e.g. Latin script, it is merely a cosmetic feature. The PreferNoShaping flag will disable all such features when they are not required, which will improve performance in most cases (since Qt 5.10).

這些中的任何標誌可以與以下標誌之一 OR 組閤:

常量 描述
QFont::PreferMatch 0x0020 首選準確匹配。字體匹配器將試著使用已指定的準確字體大小。
QFont::PreferQuality 0x0040 首選最佳品質字體。字體匹配器將使用字體支持的最接近標準點大小。
QFont::ForceIntegerMetrics 0x0400 This style strategy has been deprecated since Qt 5.15.0. Use QFontMetrics to retrieve rounded font metrics.

enum QFont:: Weight

Qt 使用 0 到 99 的加權比例縮放,與用於 Windows 或 CSS 的比例縮放類似,但不同。權重 0 很瘦,而 99 極黑。

此枚舉包含預定義的字體粗細:

常量 描述
QFont::Thin 0 0
QFont::ExtraLight 12 12
QFont::Light 25 25
QFont::Normal 50 50
QFont::Medium 57 57
QFont::DemiBold 63 63
QFont::Bold 75 75
QFont::ExtraBold 81 81
QFont::Black 87 87

成員函數文檔編製

QFont:: QFont (const QFont & font )

構造副本字體為 font .

QFont:: QFont (const QFont & font , const QPaintDevice * pd )

構造字體從 font 為用於描繪設備 pd .

該函數在 Qt 5.13 引入。

QFont:: QFont (const QString & family , int pointSize = -1, int weight = -1, bool italic = false)

構造字體對象采用指定 family , pointSize , weight and italic 設置。

pointSize 為 0 或負值,字體點大小被設為從屬係統的默認值。一般來說,這是 12 點。

The family 名稱還可以可選包括代工廠名稱,如 Helvetica[Cronyx]。若 family 可以從多個代工廠獲得但未指定代工廠,可以選擇任意代工廠。若係列不可用,將設置係列使用 字體匹配 算法。

另請參閱 Weight , setFamily (), setPointSize (), setWeight (), setItalic (), setStyleHint (),和 QGuiApplication::font ().

QFont:: QFont ()

使用應用程序默認字體,構造字體對象。

另請參閱 QGuiApplication::setFont () 和 QGuiApplication::font ().

QFont &QFont:: operator= ( QFont && other )

移動賦值 other 到此 QFont 實例。

該函數在 Qt 5.2 引入。

QFont &QFont:: operator= (const QFont & font )

賦值 font 到此字體並返迴它的引用。

QFont:: ~QFont ()

銷毀字體對象並釋放所有分配資源。

bool QFont:: bold () const

返迴 true if weight () 值大於 QFont::Medium ;否則返迴 false .

另請參閱 weight (), setBold (),和 QFontInfo::bold ().

QFont::Capitalization QFont:: capitalization () const

返迴字體的當前大寫類型。

該函數在 Qt 4.4 引入。

另請參閱 setCapitalization ().

QString QFont:: defaultFamily () const

返迴當前樣式提示對應的係列名稱。

另請參閱 StyleHint , styleHint (),和 setStyleHint ().

bool QFont:: exactMatch () const

返迴 true 若窗口係統字體準確匹配此字體的設置是可用的。

另請參閱 QFontInfo .

QStringList QFont:: families () const

Returns the requested font family names, i.e. the names set in the last setFamilies () call or via the constructor. Otherwise it returns an empty list.

該函數在 Qt 5.13 引入。

另請參閱 setFamily (), setFamilies (), family (), substitutes (),和 substitute ().

QString QFont:: family () const

返迴請求的字體係列名,即:在構造函數中設置或最後一次調用 setFont() 的名稱。

另請參閱 setFamily (), substitutes (),和 substitute ().

bool QFont:: fixedPitch () const

返迴 true 若有設置固定間距;否則返迴 false .

另請參閱 setFixedPitch () 和 QFontInfo::fixedPitch ().

bool QFont:: fromString (const QString & descrip )

設置此字體以匹配描述 descrip . The description is a comma-separated list of the font attributes, as returned by toString ().

另請參閱 toString ().

QFont::HintingPreference QFont:: hintingPreference () const

返迴目前采用此字體,渲染字形的首選提示級彆。

該函數在 Qt 4.8 引入。

另請參閱 setHintingPreference ().

[static] void QFont:: insertSubstitution (const QString & familyName , const QString & substituteName )

插入 substituteName 進代入錶為係列 familyName .

After substituting a font, trigger the updating of the font by destroying and re-creating all QFont 對象。

另請參閱 insertSubstitutions (), removeSubstitutions (), substitutions (), substitute (),和 substitutes ().

[static] void QFont:: insertSubstitutions (const QString & familyName , const QStringList & substituteNames )

Inserts the list of families substituteNames into the substitution list for familyName .

After substituting a font, trigger the updating of the font by destroying and re-creating all QFont 對象。

另請參閱 insertSubstitution (), removeSubstitutions (), substitutions (),和 substitute ().

bool QFont:: isCopyOf (const QFont & f ) const

返迴 true if this font and f are copies of each other, i.e. one of them was created as a copy of the other and neither has been modified since. This is much stricter than equality.

另請參閱 operator= () 和 operator== ().

bool QFont:: italic () const

返迴 true style () of the font is not QFont::StyleNormal

另請參閱 setItalic () 和 style ().

bool QFont:: kerning () const

返迴 true 若應使用字距,當采用此字體繪製文本時。

另請參閱 setKerning ().

QString QFont:: key () const

Returns the font's key, a textual representation of a font. It is typically used as the key for a cache or dictionary of fonts.

另請參閱 QMap .

qreal QFont:: letterSpacing () const

返迴字體的字母間距。

該函數在 Qt 4.4 引入。

另請參閱 setLetterSpacing (), letterSpacingType (),和 setWordSpacing ().

QFont::SpacingType QFont:: letterSpacingType () const

返迴用於字母間距的間距類型。

該函數在 Qt 4.4 引入。

另請參閱 letterSpacing (), setLetterSpacing (),和 setWordSpacing ().

bool QFont:: overline () const

返迴 true 若有設置上劃綫;否則返迴 false .

另請參閱 setOverline ().

int QFont:: pixelSize () const

返迴字體的像素大小,若它有設置采用 setPixelSize ()。返迴 -1 若大小的設置是采用 setPointSize () 或 setPointSizeF ().

另請參閱 setPixelSize (), pointSize (), QFontInfo::pointSize (),和 QFontInfo::pixelSize ().

int QFont:: pointSize () const

返迴字體的點大小。返迴 -1 若以像素為單位指定字體大小。

另請參閱 setPointSize () 和 pointSizeF ().

qreal QFont:: pointSizeF () const

返迴字體的點大小。返迴 -1 若以像素為單位指定字體大小。

另請參閱 pointSize (), setPointSizeF (), pixelSize (), QFontInfo::pointSize (),和 QFontInfo::pixelSize ().

[static] void QFont:: removeSubstitutions (const QString & familyName )

移除所有代入為 familyName .

該函數在 Qt 5.0 引入。

另請參閱 insertSubstitutions (), insertSubstitution (), substitutions (),和 substitute ().

QFont QFont:: resolve (const QFont & other ) const

返迴新的 QFont that has attributes copied from other that have not been previously set on this font.

void QFont:: setBold ( bool enable )

enable 為 true,將字體的權重設為 QFont::Bold ;否則將精細設為 QFont::Normal .

對於更精細粗體控製,使用 setWeight ().

注意: styleName () 有設置,此值可能被忽略,或者若平颱支持,字體被人為加粗。

另請參閱 bold () 和 setWeight ().

void QFont:: setCapitalization ( QFont::Capitalization caps )

將此字體中文本的首字母大小寫設為 caps .

字體大寫使文本以選中大寫模式齣現。

該函數在 Qt 4.4 引入。

另請參閱 capitalization ().

void QFont:: setFamilies (const QStringList & families )

Sets the list of family names for the font. The names are case insensitive and may include a foundry name. The first family in families will be set as the main family for the font.

Each family name entry in families may optionally also include a foundry name, e.g. "Helvetica [Cronyx]". If the family is available from more than one foundry and the foundry isn't specified, an arbitrary foundry is chosen. If the family isn't available a family will be set using the 字體匹配 算法。

該函數在 Qt 5.13 引入。

另請參閱 family (), families (), setFamily (), setStyleHint (),和 QFontInfo .

void QFont:: setFamily (const QString & family )

設置字體的係列名稱。名稱不區分大小寫且可能包括齣廠名稱。

The family 名稱還可以可選包括代工廠名稱,如 Helvetica[Cronyx]。若 family 可以從多個代工廠獲得但未指定代工廠,可以選擇任意代工廠。若係列不可用,將設置係列使用 字體匹配 算法。

另請參閱 family (), setStyleHint (),和 QFontInfo .

void QFont:: setFixedPitch ( bool enable )

enable 為 true,設置固定間距開;否則設置固定間距關。

另請參閱 fixedPitch () 和 QFontInfo .

void QFont:: setHintingPreference ( QFont::HintingPreference hintingPreference )

將字形提示級彆首選設為 hintingPreference . This is a hint to the underlying font rendering system to use a certain level of hinting, and has varying support across platforms. See the table in the documentation for QFont::HintingPreference 瞭解更多細節。

默認提示首選 QFont::PreferDefaultHinting .

該函數在 Qt 4.8 引入。

另請參閱 hintingPreference ().

void QFont:: setItalic ( bool enable )

設置 style () 為字體到 QFont::StyleItalic if enable 為 true;否則樣式被設為 QFont::StyleNormal .

注意: styleName () 有設置,此值可能被忽略,或若平颱支持,字體可能傾斜渲染,而不是拾取設計的斜體字體變體。

另請參閱 italic () 和 QFontInfo .

void QFont:: setKerning ( bool enable )

為此字體啓用字距調整,若 enable 為 true;否則禁用它。默認情況下,字距調整是啓用的。

When kerning is enabled, glyph metrics do not add up anymore, even for Latin text. In other words, the assumption that width('a') + width('b') is equal to width("ab") is not necessarily true.

另請參閱 kerning () 和 QFontMetrics .

void QFont:: setLetterSpacing ( QFont::SpacingType type , qreal spacing )

Sets the letter spacing for the font to spacing and the type of spacing to type .

Letter spacing changes the default spacing between individual letters in the font. The spacing between the letters can be made smaller as well as larger either in percentage of the character width or in pixels, depending on the selected spacing type.

該函數在 Qt 4.4 引入。

另請參閱 letterSpacing (), letterSpacingType (),和 setWordSpacing ().

void QFont:: setOverline ( bool enable )

enable 為 True,設置上劃綫打開;否則,設置上劃綫關閉。

另請參閱 overline () 和 QFontInfo .

void QFont:: setPixelSize ( int pixelSize )

將字體大小設為 pixelSize 像素。

使用此函數使字體設備從屬。使用 setPointSize () 或 setPointSizeF () 以按設備無關方式設置字體大小。

另請參閱 pixelSize ().

void QFont:: setPointSize ( int pointSize )

將點大小設為 pointSize 。點大小必須大於 0。

另請參閱 pointSize () 和 setPointSizeF ().

void QFont:: setPointSizeF ( qreal pointSize )

將點大小設為 pointSize 。點大小必須大於 0。請求精度不可能在所有平颱中達成。

另請參閱 pointSizeF (), setPointSize (),和 setPixelSize ().

void QFont:: setStretch ( int factor )

設置字體的拉伸因子。

拉伸因子匹配字體的濃縮 (或擴展) 版本,或應用拉伸變換改變字體中的所有字符的寬度按 factor 百分比。例如,設置 factor 為 150 將導緻字體中的所有字符是 1.5 倍 (即 150%) 寬。最小拉伸因子為 1,最大拉伸因子為 4000。默認拉伸因子為 AnyStretch ,將接受任何拉伸因子,且不對字體應用任何變換。

拉伸因子僅應用於輪廓字體。位圖字體會忽略拉伸因子。

注意: 當匹配字體與本機非默認拉伸因子時,請求拉伸 100 將把它拉伸迴中等寬度字體。

另請參閱 stretch () 和 QFont::Stretch .

void QFont:: setStrikeOut ( bool enable )

enable 為 true,設置刪除綫打開;否則,設置刪除綫關閉。

另請參閱 strikeOut () 和 QFontInfo .

void QFont:: setStyle ( QFont::Style style )

將字體樣式設為 style .

另請參閱 style (), italic (),和 QFontInfo .

void QFont:: setStyleHint ( QFont::StyleHint hint , QFont::StyleStrategy strategy = PreferDefault)

將樣式提示和對策設為 hint and strategy ,分彆。

If these aren't set explicitly the style hint will default to AnyStyle and the style strategy to PreferDefault .

Qt does not support style hints on X11 since this information is not provided by the window system.

另請參閱 StyleHint , styleHint (), StyleStrategy , styleStrategy (),和 QFontInfo .

void QFont:: setStyleName (const QString & styleName )

Sets the style name of the font to styleName . When set, other style properties like style () 和 weight () will be ignored for font matching, though they may be simulated afterwards if supported by the platform's font engine.

Due to the lower quality of artificially simulated styles, and the lack of full cross platform support, it is not recommended to use matching by style name together with matching by style properties

該函數在 Qt 4.8 引入。

另請參閱 styleName ().

void QFont:: setStyleStrategy ( QFont::StyleStrategy s )

將字體樣式對策設為 s .

另請參閱 styleStrategy () 和 QFont::StyleStrategy .

void QFont:: setUnderline ( bool enable )

enable 為 true,設置下劃綫開;否則設置下劃綫關。

另請參閱 underline () 和 QFontInfo .

void QFont:: setWeight ( int weight )

將字體的精細設為 weight , 使用的比例縮放定義通過 QFont::Weight 枚舉。

注意: styleName () 有設置,此值可能被忽略對於選中字體。

另請參閱 weight () 和 QFontInfo .

void QFont:: setWordSpacing ( qreal spacing )

將字體單詞間距設為 spacing .

單詞間距改變單個單詞之間的默認間距。正值按相應像素數量遞增單詞間距,而負值相應遞減單詞間間距。

單詞間距不適用於書寫係統,其單個單詞不按空白分隔。

該函數在 Qt 4.4 引入。

另請參閱 wordSpacing () 和 setLetterSpacing ().

int QFont:: stretch () const

返迴字體的拉伸因子。

另請參閱 setStretch ().

bool QFont:: strikeOut () const

返迴 true 若有設置刪除綫;否則返迴 false .

另請參閱 setStrikeOut ().

QFont::Style QFont:: style () const

返迴字體的樣式。

另請參閱 setStyle ().

QFont::StyleHint QFont:: styleHint () const

返迴 StyleHint .

樣式提示影響 字體匹配算法 。見 QFont::StyleHint 瞭解可用提示列錶。

另請參閱 setStyleHint (), QFont::StyleStrategy ,和 QFontInfo::styleHint ().

QString QFont:: styleName () const

返迴請求字體的樣式名稱。這可以用於匹配具有不規則樣式 (在其它樣式特性中無法被規範化) 的字體。

該函數在 Qt 4.8 引入。

另請參閱 setStyleName (), setFamily (),和 setStyle ().

QFont::StyleStrategy QFont:: styleStrategy () const

返迴 StyleStrategy .

樣式對策影響 字體匹配 算法。見 QFont::StyleStrategy 瞭解可用戰略列錶。

另請參閱 setStyleStrategy (), setStyleHint (),和 QFont::StyleHint .

[static] QString QFont:: substitute (const QString & familyName )

返迴要使用的第一係列名稱每當 familyName 有指定。查找不區分大小寫。

若沒有代入對於 familyName , familyName 被返迴。

要獲得代入列錶使用 substitutes ().

另請參閱 setFamily (), insertSubstitutions (), insertSubstitution (),和 removeSubstitutions ().

[static] QStringList QFont:: substitutes (const QString & familyName )

返迴要使用的係列名稱列錶每當 familyName 有指定。查找不區分大小寫。

若沒有代入對於 familyName ,返迴空列錶。

另請參閱 substitute (), insertSubstitutions (), insertSubstitution (),和 removeSubstitutions ().

[static] QStringList QFont:: substitutions ()

返迴代入係列名稱的排序列錶。

另請參閱 insertSubstitution (), removeSubstitution (),和 substitute ().

void QFont:: swap ( QFont & other )

交換此字體實例與 other 。此函數非常快且從不失敗。

該函數在 Qt 5.0 引入。

QString QFont:: toString () const

返迴字體的描述。描述是逗號分隔的屬性列錶,非常適閤用於 QSettings ,並由以下組成:

  • Font family
  • Point size
  • Pixel size
  • Style hint
  • Font weight
  • Font style
  • Underline
  • Strike out
  • Fixed pitch
  • Always 0
  • Capitalization
  • Letter spacing
  • Word spacing
  • Stretch
  • Style strategy
  • Font style (omitted when unavailable)

另請參閱 fromString ().

bool QFont:: underline () const

返迴 true 若有設置下劃綫;否則返迴 false .

另請參閱 setUnderline ().

int QFont:: weight () const

返迴字體的權重,使用相同比例如 QFont::Weight 枚舉。

另請參閱 setWeight (), Weight ,和 QFontInfo .

qreal QFont:: wordSpacing () const

返迴字體的單詞間距。

該函數在 Qt 4.4 引入。

另請參閱 setWordSpacing () 和 setLetterSpacing ().

QVariant QFont:: operator QVariant () const

返迴字體作為 QVariant

bool QFont:: operator!= (const QFont & f ) const

返迴 true 若此字體不同於 f ;否則返迴 false .

兩 QFont 被認為不同,若它們的字體屬性不同。

另請參閱 operator== ().

bool QFont:: operator< (const QFont & f ) const

提供任意比較為此字體和字體 f 。唯一保證的是運算符返迴 false 若兩字體相等且 (f1 < f2) == !(f2 < f1) 若字體不相等。

此函數在某些情況下很有用,例如,若想要使用 QFont 對象作為鍵在 QMap .

另請參閱 operator== (), operator!= (),和 isCopyOf ().

bool QFont:: operator== (const QFont & f ) const

返迴 true 若此字體等於 f ;否則返迴 false。

兩 QFont 被認為相等,若它們的字體屬性相等。

另請參閱 operator!= () 和 isCopyOf ().

相關非成員

uint qHash (const QFont & font , uint seed = 0)

返迴哈希值為 font 。若指定, seed 用於初始化哈希。

該函數在 Qt 5.3 引入。

QDataStream & operator<< ( QDataStream & s , const QFont & font )

寫入字體 font 到數據流 s . ( toString () 寫入到文本流。)

另請參閱 QDataStream 運算符格式 .

QDataStream & operator>> ( QDataStream & s , QFont & font )

讀取字體 font 從數據流 s . ( fromString () 讀取自文本流。)

另請參閱 QDataStream 運算符格式 .