QFontInfo 类

QFontInfo 类提供有关字体的一般信息。 更多...

头: #include <QFontInfo>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

注意: 此类的所有函数 可重入 .

公共函数

QFontInfo (const QFont & font )
QFontInfo (const QFontInfo & fi )
~QFontInfo ()
bool bold () const
bool exactMatch () const
QString family () const
bool fixedPitch () const
bool italic () const
int pixelSize () const
int pointSize () const
qreal pointSizeF () const
QFont::Style style () const
QFont::StyleHint styleHint () const
QString styleName () const
void swap (QFontInfo & other )
int weight () const
QFontInfo & operator= (const QFontInfo & fi )

详细描述

The QFontInfo class provides the same access functions as QFont ,如 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, QFont::pointSize () returns 25 and QFontInfo::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 更新。

    (注意:若使用打印机字体,返回值可能不精确。打印机字体并非始终可访问,所以使用最接近的屏幕字体,若有提供打印机字体)

  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 更新。
  3. QPainter::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 更新。

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.

另请参阅 QFont , QFontMetrics ,和 QFontDatabase .

成员函数文档编制

QFontInfo:: QFontInfo (const QFont & font )

构造字体信息对象为 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.

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

另请参阅 Checking for the existence of a font .

QFontInfo:: QFontInfo (const QFontInfo & fi )

构造副本为 fi .

[noexcept] QFontInfo:: ~QFontInfo ()

销毁字体信息对象。

bool QFontInfo:: bold () const

返回 true if weight () would return a value greater than QFont::Normal ;否则返回 false .

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

bool QFontInfo:: exactMatch () const

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

另请参阅 QFont::exactMatch ().

QString QFontInfo:: family () const

Returns the family name of the matched window system font.

另请参阅 QFont::family () 和 Checking for the existence of a font .

bool QFontInfo:: fixedPitch () const

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

另请参阅 QFont::fixedPitch ().

bool QFontInfo:: italic () const

Returns the italic value of the matched window system font.

另请参阅 QFont::italic ().

int QFontInfo:: pixelSize () const

Returns the pixel size of the matched window system font.

另请参阅 QFont::pointSize ().

int QFontInfo:: pointSize () const

Returns the point size of the matched window system font.

另请参阅 pointSizeF () 和 QFont::pointSize ().

qreal QFontInfo:: pointSizeF () const

Returns the point size of the matched window system font.

另请参阅 QFont::pointSizeF ().

QFont::Style QFontInfo:: style () const

Returns the style value of the matched window system font.

另请参阅 QFont::style ().

QFont::StyleHint QFontInfo:: styleHint () const

Returns the style of the matched window system font.

Currently only returns the style hint set in QFont .

另请参阅 QFont::styleHint () 和 QFont::StyleHint .

QString QFontInfo:: styleName () const

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

另请参阅 QFont::styleName ().

[noexcept] void QFontInfo:: swap ( QFontInfo & other )

Swaps this font info instance with other 。此函数非常快且从不失败。

int QFontInfo:: weight () const

Returns the weight of the matched window system font.

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

QFontInfo &QFontInfo:: operator= (const QFontInfo & fi )

Assigns the font info in fi .