QFontDatabase 类

QFontDatabase class provides information about the fonts available in the underlying window system. 更多...

头: #include <QFontDatabase>
qmake: QT += gui

注意: 此类的所有函数 thread-safe .

公共类型

enum SystemFont { GeneralFont, FixedFont, TitleFont, SmallestReadableFont }
enum WritingSystem { Any, Latin, Greek, Cyrillic, ..., Nko }

公共函数

QFontDatabase ()
bool bold (const QString & family , const QString & style ) const
QStringList families (WritingSystem writingSystem = Any) const
QFont font (const QString & family , const QString & style , int pointSize ) const
bool isBitmapScalable (const QString & family , const QString & style = QString()) const
bool isFixedPitch (const QString & family , const QString & style = QString()) const
bool isPrivateFamily (const QString & family ) const
bool isScalable (const QString & family , const QString & style = QString()) const
bool isSmoothlyScalable (const QString & family , const QString & style = QString()) const
bool italic (const QString & family , const QString & style ) const
QList<int> pointSizes (const QString & family , const QString & styleName = QString())
QList<int> smoothSizes (const QString & family , const QString & styleName )
QString styleString (const QFont & font )
QString styleString (const QFontInfo & fontInfo )
QStringList styles (const QString & family ) const
int weight (const QString & family , const QString & style ) const
QList<WritingSystem> writingSystems () const
QList<WritingSystem> writingSystems (const QString & family ) const

静态公共成员

int addApplicationFont (const QString & fileName )
int addApplicationFontFromData (const QByteArray & fontData )
QStringList applicationFontFamilies (int id )
bool removeAllApplicationFonts ()
bool removeApplicationFont (int id )
QList<int> standardSizes ()
QFont systemFont (SystemFont type )
QString writingSystemName (WritingSystem writingSystem )
QString writingSystemSample (WritingSystem writingSystem )

详细描述

QFontDatabase class provides information about the fonts available in the underlying window system.

The most common uses of this class are to query the database for the list of font families () and for the pointSizes () 和 styles () that are available for each family. An alternative to pointSizes () 是 smoothSizes () which returns the sizes at which a given family and style will look attractive.

If the font family is available from two or more foundries the foundry name is included in the family name; for example: "Helvetica [Adobe]" and "Helvetica [Cronyx]". When you specify a family, you can either use the old hyphenated "foundry-family" format or the bracketed "family [foundry]" format; for example: "Cronyx-Helvetica" or "Helvetica [Cronyx]". If the family has a foundry it is always returned using the bracketed format, as is the case with the value returned by families ().

font () 函数返回 QFont 给定系列、样式及点大小。

A family and style combination can be checked to see if it is italic () 或 bold (), and to retrieve its weight (). Similarly we can call isBitmapScalable (), isSmoothlyScalable (), isScalable () 和 isFixedPitch ().

使用 styleString () 以获取样式的文本版本。

QFontDatabase class also supports some static functions, for example, standardSizes (). You can retrieve the description of a writing system using writingSystemName (), and a sample of characters in a writing system with writingSystemSample ().

范例:

    QFontDatabase database;
    QTreeWidget fontTree;
    fontTree.setColumnCount(2);
    fontTree.setHeaderLabels(QStringList() << "Font" << "Smooth Sizes");
    foreach (const QString &family, database.families()) {
        QTreeWidgetItem *familyItem = new QTreeWidgetItem(&fontTree);
        familyItem->setText(0, family);
        foreach (const QString &style, database.styles(family)) {
            QTreeWidgetItem *styleItem = new QTreeWidgetItem(familyItem);
            styleItem->setText(0, style);
            QString sizes;
            foreach (int points, database.smoothSizes(family, style))
                sizes += QString::number(points) + ' ';
            styleItem->setText(1, sizes.trimmed());
        }
    }
					

This example gets the list of font families, the list of styles for each family, and the point sizes that are available for each combination of family and style, displaying this information in a tree view.

另请参阅 QFont , QFontInfo , QFontMetrics ,和 字符映射范例 .

成员类型文档编制

enum QFontDatabase:: SystemFont

常量 描述
QFontDatabase::GeneralFont 0 The default system font.
QFontDatabase::FixedFont 1 The fixed font that the system recommends.
QFontDatabase::TitleFont 2 The system standard font for titles.
QFontDatabase::SmallestReadableFont 3 The smallest readable system font.

该枚举在 Qt 5.2 引入或被修改。

enum QFontDatabase:: WritingSystem

常量 描述
QFontDatabase::Any 0
QFontDatabase::Latin 1
QFontDatabase::Greek 2
QFontDatabase::Cyrillic 3
QFontDatabase::Armenian 4
QFontDatabase::Hebrew 5
QFontDatabase::Arabic 6
QFontDatabase::Syriac 7
QFontDatabase::Thaana 8
QFontDatabase::Devanagari 9
QFontDatabase::Bengali 10
QFontDatabase::Gurmukhi 11
QFontDatabase::Gujarati 12
QFontDatabase::Oriya 13
QFontDatabase::Tamil 14
QFontDatabase::Telugu 15
QFontDatabase::Kannada 16
QFontDatabase::Malayalam 17
QFontDatabase::Sinhala 18
QFontDatabase::Thai 19
QFontDatabase::Lao 20
QFontDatabase::Tibetan 21
QFontDatabase::Myanmar 22
QFontDatabase::Georgian 23
QFontDatabase::Khmer 24
QFontDatabase::SimplifiedChinese 25
QFontDatabase::TraditionalChinese 26
QFontDatabase::Japanese 27
QFontDatabase::Korean 28
QFontDatabase::Vietnamese 29
QFontDatabase::Symbol 30
QFontDatabase::Other Symbol (the same as Symbol)
QFontDatabase::Ogham ?
QFontDatabase::Runic ?
QFontDatabase::Nko ?

成员函数文档编制

QFontDatabase:: QFontDatabase ()

Creates a font database object.

[static] int QFontDatabase:: addApplicationFont (const QString & fileName )

Loads the font from the file specified by fileName and makes it available to the application. An ID is returned that can be used to remove the font again with removeApplicationFont () or to retrieve the list of family names contained in the font.

The function returns -1 if the font could not be loaded.

Currently only TrueType fonts, TrueType font collections, and OpenType fonts are supported.

注意: Adding application fonts on Unix/X11 platforms without fontconfig is currently not supported.

该函数在 Qt 4.2 引入。

另请参阅 addApplicationFontFromData (), applicationFontFamilies (),和 removeApplicationFont ().

[static] int QFontDatabase:: addApplicationFontFromData (const QByteArray & fontData )

Loads the font from binary data specified by fontData and makes it available to the application. An ID is returned that can be used to remove the font again with removeApplicationFont () or to retrieve the list of family names contained in the font.

The function returns -1 if the font could not be loaded.

Currently only TrueType fonts and TrueType font collections are supported.

注意: Adding application fonts on Unix/X11 platforms without fontconfig is currently not supported.

该函数在 Qt 4.2 引入。

另请参阅 addApplicationFont (), applicationFontFamilies (),和 removeApplicationFont ().

[static] QStringList QFontDatabase:: applicationFontFamilies ( int id )

Returns a list of font families for the given application font identified by id .

该函数在 Qt 4.2 引入。

另请参阅 addApplicationFont () 和 addApplicationFontFromData ().

bool QFontDatabase:: bold (const QString & family , const QString & style ) const

返回 true 若字体拥有系列 family 和样式 style is bold; otherwise returns false .

另请参阅 italic () 和 weight ().

QStringList QFontDatabase:: families ( WritingSystem writingSystem = Any) const

返回可用字体系列的排序列表,支持 writingSystem .

If a family exists in several foundries, the returned name for that font is in the form "family [foundry]". Examples: "Times [Adobe]", "Times [Cronyx]", "Palatino".

另请参阅 writingSystems ().

QFont QFontDatabase:: font (const QString & family , const QString & style , int pointSize ) const

返回 QFont object that has family family , style style and point size pointSize . If no matching font could be created, a QFont object that uses the application's default font is returned.

bool QFontDatabase:: isBitmapScalable (const QString & family , const QString & style = QString()) const

返回 true 若字体拥有系列 family 和样式 style is a scalable bitmap font; otherwise returns false . Scaling a bitmap font usually produces an unattractive hardly readable result, because the pixels of the font are scaled. If you need to scale a bitmap font it is better to scale it to one of the fixed sizes returned by smoothSizes ().

另请参阅 isScalable () 和 isSmoothlyScalable ().

bool QFontDatabase:: isFixedPitch (const QString & family , const QString & style = QString()) const

返回 true 若字体拥有系列 family 和样式 style is fixed pitch; otherwise returns false .

bool QFontDatabase:: isPrivateFamily (const QString & family ) const

返回 true if and only if the family font family is private.

This happens, for instance, on macOS and iOS, where the system UI fonts are not accessible to the user. For completeness, QFontDatabase::families () returns all font families, including the private ones. You should use this function if you are developing a font selection control in order to keep private fonts hidden.

该函数在 Qt 5.5 引入。

另请参阅 families ().

bool QFontDatabase:: isScalable (const QString & family , const QString & style = QString()) const

返回 true 若字体拥有系列 family 和样式 style is scalable; otherwise returns false .

另请参阅 isBitmapScalable () 和 isSmoothlyScalable ().

bool QFontDatabase:: isSmoothlyScalable (const QString & family , const QString & style = QString()) const

返回 true 若字体拥有系列 family 和样式 style is smoothly scalable; otherwise returns false 。若此函数返回 true , it's safe to scale this font to any size, and the result will always look attractive.

另请参阅 isScalable () 和 isBitmapScalable ().

bool QFontDatabase:: italic (const QString & family , const QString & style ) const

返回 true 若字体拥有系列 family 和样式 style 为斜体;否则返回 false .

另请参阅 weight () 和 bold ().

QList < int > QFontDatabase:: pointSizes (const QString & family , const QString & styleName = QString())

Returns a list of the point sizes available for the font that has family family 和样式 styleName . The list may be empty.

另请参阅 smoothSizes () 和 standardSizes ().

[static] bool QFontDatabase:: removeAllApplicationFonts ()

Removes all application-local fonts previously added using addApplicationFont () 和 addApplicationFontFromData ().

返回 true 若字体卸载成功;否则返回 false .

该函数在 Qt 4.2 引入。

另请参阅 removeApplicationFont (), addApplicationFont (),和 addApplicationFontFromData ().

[static] bool QFontDatabase:: removeApplicationFont ( int id )

Removes the previously loaded application font identified by id 。返回 true if unloading of the font succeeded; otherwise returns false .

该函数在 Qt 4.2 引入。

另请参阅 removeAllApplicationFonts (), addApplicationFont (),和 addApplicationFontFromData ().

QList < int > QFontDatabase:: smoothSizes (const QString & family , const QString & styleName )

Returns the point sizes of a font that has family family 和样式 styleName that will look attractive. The list may be empty. For non-scalable fonts and bitmap scalable fonts, this function is equivalent to pointSizes ().

另请参阅 pointSizes () 和 standardSizes ().

[static] QList < int > QFontDatabase:: standardSizes ()

返回标准字体大小的列表。

另请参阅 smoothSizes () 和 pointSizes ().

QString QFontDatabase:: styleString (const QFont & font )

Returns a string that describes the style of the font . For example, "Bold Italic", "Bold", "Italic" or "Normal". An empty string may be returned.

QString QFontDatabase:: styleString (const QFontInfo & fontInfo )

Returns a string that describes the style of the fontInfo . For example, "Bold Italic", "Bold", "Italic" or "Normal". An empty string may be returned.

QStringList QFontDatabase:: styles (const QString & family ) const

Returns a list of the styles available for the font family family . Some example styles: "Light", "Light Italic", "Bold", "Oblique", "Demi". The list may be empty.

另请参阅 families ().

[static] QFont QFontDatabase:: systemFont ( SystemFont type )

Returns the most adequate font for a given type case for proper integration with the system's look and feel.

该函数在 Qt 5.2 引入。

另请参阅 QGuiApplication::font ().

int QFontDatabase:: weight (const QString & family , const QString & style ) const

Returns the weight of the font that has family family 和样式 style . If there is no such family and style combination, returns -1.

另请参阅 italic () 和 bold ().

[static] QString QFontDatabase:: writingSystemName ( WritingSystem writingSystem )

Returns the names the writingSystem (e.g. for displaying to the user in a dialog).

[static] QString QFontDatabase:: writingSystemSample ( WritingSystem writingSystem )

Returns a string with sample characters from writingSystem .

QList < WritingSystem > QFontDatabase:: writingSystems () const

Returns a sorted list of the available writing systems. This is list generated from information about all installed fonts on the system.

另请参阅 families ().

QList < WritingSystem > QFontDatabase:: writingSystems (const QString & family ) const

Returns a sorted list of the writing systems supported by a given font family .

另请参阅 families ().