QFontDatabase¶
- PyQt5.QtGui.QFontDatabase
Description¶
The 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() and styles() that are available for each family. An alternative to pointSizes() is 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().
The font() function returns a QFont given a family, style and point size.
A family and style combination can be checked to see if it is italic() or bold(), and to retrieve its weight(). Similarly we can call isBitmapScalable(), isSmoothlyScalable(), isScalable() and isFixedPitch().
Use the styleString() to obtain a text version of a style.
The 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().
Example:
# 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.
See also
Enums¶
- SystemFont
TODO
Member
Value
Description
FixedFont TODO
TODO
GeneralFont TODO
TODO
SmallestReadableFont TODO
TODO
TitleFont TODO
TODO
- WritingSystem
Member
Value
Description
Any TODO
TODO
Arabic TODO
TODO
Armenian TODO
TODO
Bengali TODO
TODO
Cyrillic TODO
TODO
Devanagari TODO
TODO
Georgian TODO
TODO
Greek TODO
TODO
Gujarati TODO
TODO
Gurmukhi TODO
TODO
Hebrew TODO
TODO
Japanese TODO
TODO
Kannada TODO
TODO
Khmer TODO
TODO
Korean TODO
TODO
Lao TODO
TODO
Latin TODO
TODO
Malayalam TODO
TODO
Myanmar TODO
TODO
Nko TODO
TODO
Ogham TODO
TODO
Oriya TODO
TODO
Other Symbol
(the same as Symbol)
Runic TODO
TODO
SimplifiedChinese TODO
TODO
Sinhala TODO
TODO
Symbol TODO
TODO
Syriac TODO
TODO
Tamil TODO
TODO
Telugu TODO
TODO
Thaana TODO
TODO
Thai TODO
TODO
Tibetan TODO
TODO
TraditionalChinese TODO
TODO
Vietnamese TODO
TODO
Methods¶
- __init__()
Creates a font database object.
- __init__(QFontDatabase)
TODO
-
@staticmethod
addApplicationFont(str) → int 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.
Note: Adding application fonts on Unix/X11 platforms without fontconfig is currently not supported.
-
@staticmethod
addApplicationFontFromData(Union[QByteArray, bytes, bytearray]) → int 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.
Note: Adding application fonts on Unix/X11 platforms without fontconfig is currently not supported.
-
@staticmethod
applicationFontFamilies(int) → List[str] Returns a list of font families for the given application font identified by id.
See also
- bold(str, str) → bool
Returns
true
if the font that has family family and style style is bold; otherwise returnsfalse
.
- families(writingSystem: WritingSystem = Any) → List[str]
Returns a sorted list of the available font families which support the 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”.
See also
- font(str, str, int) → QFont
Returns a 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.
- isBitmapScalable(str, style: str = '') → bool
Returns
true
if the font that has family family and style style is a scalable bitmap font; otherwise returnsfalse
. 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().See also
- isFixedPitch(str, style: str = '') → bool
Returns
true
if the font that has family family and style style is fixed pitch; otherwise returnsfalse
.
- isPrivateFamily(str) → bool
TODO
- isScalable(str, style: str = '') → bool
Returns
true
if the font that has family family and style style is scalable; otherwise returnsfalse
.See also
- isSmoothlyScalable(str, style: str = '') → bool
Returns
true
if the font that has family family and style style is smoothly scalable; otherwise returnsfalse
. If this function returnstrue
, it’s safe to scale this font to any size, and the result will always look attractive.See also
- italic(str, str) → bool
Returns
true
if the font that has family family and style style is italic; otherwise returnsfalse
.
- pointSizes(str, style: str = '') → List[int]
Returns a list of the point sizes available for the font that has family family and style styleName. The list may be empty.
See also
-
@staticmethod
removeAllApplicationFonts() → bool TODO
-
@staticmethod
removeApplicationFont(int) → bool TODO
- smoothSizes(str, str) → List[int]
Returns the point sizes of a font that has family family and style styleName that will look attractive. The list may be empty. For non-scalable fonts and bitmap scalable fonts, this function is equivalent to pointSizes().
See also
-
@staticmethod
standardSizes() → List[int] Returns a list of standard font sizes.
See also
- styles(str) → List[str]
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.
See also
- styleString(QFont) → str
Returns a string that describes the style of the font. For example, “Bold Italic”, “Bold”, “Italic” or “Normal”. An empty string may be returned.
- styleString(QFontInfo) → str
Returns a string that describes the style of the fontInfo. For example, “Bold Italic”, “Bold”, “Italic” or “Normal”. An empty string may be returned.
-
@staticmethod
supportsThreadedFontRendering() → bool TODO
-
@staticmethod
systemFont(SystemFont) → QFont TODO
- weight(str, str) → int
Returns the weight of the font that has family family and style style. If there is no such family and style combination, returns -1.
-
@staticmethod
writingSystemName(WritingSystem) → str Returns the names the writingSystem (e.g. for displaying to the user in a dialog).
- writingSystems() → List[WritingSystem]
Returns a sorted list of the available writing systems. This is list generated from information about all installed fonts on the system.
See also
- writingSystems(str) → List[WritingSystem]
Returns a sorted list of the writing systems supported by a given font family.
See also
-
@staticmethod
writingSystemSample(WritingSystem) → str Returns a string with sample characters from writingSystem.