PySide6.QtGui.QFontInfo

class QFontInfo

The QFontInfo class provides general information about fonts. More

Synopsis

Methods

Note

This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE

Detailed Description

The QFontInfo class provides the same access functions as QFont , e.g. family() , pointSize() , italic() , weight() , fixedPitch() , styleHint() etc. But whilst the QFont access functions return the values that were set, a QFontInfo object returns the values that apply to the font that will actually be used to draw the text.

For example, when the program asks for a 25pt Courier font on a machine that has a non-scalable 24pt Courier font, QFont will (normally) use the 24pt Courier for rendering. In this case, pointSize() returns 25 and pointSize() returns 24.

There are three ways to create a QFontInfo object.

  1. Calling the QFontInfo constructor with a QFont creates a font info object for a screen-compatible font, i.e. the font cannot be a printer font. If the font is changed later, the font info object is not updated.

    (Note: If you use a printer font the values returned may be inaccurate. Printer fonts are not always accessible so the nearest screen font is used if a printer font is supplied.)

  2. QWidget::fontInfo() returns the font info for a widget’s font. This is equivalent to calling QFontInfo (widget->font()). If the widget’s font is changed later, the font info object is not updated.

  3. fontInfo() returns the font info for a painter’s current font. If the painter’s font is changed later, the font info object is not updated.

Checking for the existence of a font

Sometimes it can be useful to check if a font exists before attempting to use it. The most thorough way of doing so is by using exactMatch() :

const QFont segoeFont(QLatin1String("Segoe UI"));
if (QFontInfo(segoeFont).exactMatch()) {
    // Use the font...
}

However, this deep search of families can be expensive on some platforms. QFontDatabase::families().contains() is a faster, but less thorough alternative:

const QLatin1String segoeUiFamilyName("Segoe UI");
if (QFontDatabase::families().contains(segoeUiFamilyName)) {
    const QFont segoeFont(segoeUiFamilyName);
    // Use the font...
}

It’s less thorough because it’s not a complete search: some font family aliases may be missing from the list. However, this approach results in faster application startup times, and so should always be preferred if possible.

__init__(font)
Parameters:

fontQFont

Constructs a font info object for font.

The font must be screen-compatible, i.e. a font you use when drawing text in widgets or pixmaps , not QPicture or QPrinter.

The font info object holds the information for the font that is passed in the constructor at the time it is created, and is not updated if the font’s attributes are changed later.

Use fontInfo() to get the font info when painting. This will give correct results also when painting on paint device that is not screen-compatible.

See also

Checking for the existence of a font

__init__(fi)
Parameters:

fiQFontInfo

Constructs a copy of fi.

bold()
Return type:

bool

Returns true if weight() would return a value greater than Normal ; otherwise returns false.

See also

weight() bold()

exactMatch()
Return type:

bool

Returns true if the matched window system font is exactly the same as the one specified by the font; otherwise returns false.

See also

exactMatch()

family()
Return type:

str

Returns the family name of the matched window system font.

See also

family() Checking for the existence of a font

fixedPitch()
Return type:

bool

Returns the fixed pitch value of the matched window system font.

See also

fixedPitch()

italic()
Return type:

bool

Returns the italic value of the matched window system font.

See also

italic()

legacyWeight()
Return type:

int

Note

This function is deprecated.

Use weight() instead.

Returns the weight of the font converted to the non-standard font weight scale used in Qt 5 and earlier versions.

Since Qt 6, the OpenType standard’s font weight scale is used instead of a non-standard scale. This requires conversion from values that use the old scale. For convenience, this function may be used when porting from code which uses the old weight scale.

overline()
Return type:

bool

pixelSize()
Return type:

int

Returns the pixel size of the matched window system font.

See also

pointSize()

pointSize()
Return type:

int

Returns the point size of the matched window system font.

pointSizeF()
Return type:

float

Returns the point size of the matched window system font.

See also

pointSizeF()

strikeOut()
Return type:

bool

style()
Return type:

Style

Returns the style value of the matched window system font.

See also

style()

styleHint()
Return type:

StyleHint

Returns the style of the matched window system font.

Currently only returns the style hint set in QFont .

styleName()
Return type:

str

Returns the style name of the matched window system font on systems that support it.

See also

styleName()

swap(other)
Parameters:

otherQFontInfo

Swaps this font info instance with other. This function is very fast and never fails.

underline()
Return type:

bool

weight()
Return type:

int

Returns the weight of the matched window system font.

See also

weight() bold()