Auf dieser Seite

QFontMetricsF Class

Die Klasse „QFontMetricsF“ liefert Informationen zu Schriftartenmetriken. Mehr...

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

Hinweis: Alle Funktionen dieser Klasse sind reentrant.

Öffentliche Funktionen

QFontMetricsF(const QFont &font)
QFontMetricsF(const QFontMetrics &fontMetrics)
QFontMetricsF(const QFont &font, const QPaintDevice *paintdevice)
QFontMetricsF(const QFontMetricsF &fm)
QFontMetricsF(QFontMetricsF &&)
~QFontMetricsF()
qreal ascent() const
qreal averageCharWidth() const
QRectF boundingRect(QChar ch) const
QRectF boundingRect(const QString &text) const
(since 6.3) QRectF boundingRect(const QString &text, const QTextOption &option) const
QRectF boundingRect(const QRectF &rect, int flags, const QString &text, int tabStops = 0, int *tabArray = nullptr) const
qreal capHeight() const
qreal descent() const
QString elidedText(const QString &text, Qt::TextElideMode mode, qreal width, int flags = 0) const
qreal fontDpi() const
qreal height() const
(since 6.3) qreal horizontalAdvance(const QString &text, const QTextOption &option) const
qreal horizontalAdvance(const QString &text, int length = -1) const
qreal horizontalAdvance(QChar ch) const
bool inFont(QChar ch) const
bool inFontUcs4(uint ch) const
qreal leading() const
qreal leftBearing(QChar ch) const
qreal lineSpacing() const
qreal lineWidth() const
qreal maxWidth() const
qreal minLeftBearing() const
qreal minRightBearing() const
qreal overlinePos() const
qreal rightBearing(QChar ch) const
QSizeF size(int flags, const QString &text, int tabStops = 0, int *tabArray = nullptr) const
qreal strikeOutPos() const
void swap(QFontMetricsF &other)
QRectF tightBoundingRect(const QString &text) const
(since 6.3) QRectF tightBoundingRect(const QString &text, const QTextOption &option) const
qreal underlinePos() const
qreal xHeight() const
bool operator!=(const QFontMetricsF &other) const
QFontMetricsF &operator=(QFontMetricsF &&other)
QFontMetricsF &operator=(const QFontMetrics &other)
QFontMetricsF &operator=(const QFontMetricsF &fm)
bool operator==(const QFontMetricsF &other) const

Ausführliche Beschreibung

Die Funktionen von QFontMetricsF berechnen die Größe von Zeichen und Zeichenfolgen für eine bestimmte Schriftart. Sie können ein QFontMetricsF-Objekt mit einem vorhandenen „ QFont “ erstellen, um Metriken für diese Schriftart abzurufen. Wird die Schriftart später geändert, wird das Schriftartmetrik-Objekt nicht aktualisiert.

Nach der Erstellung stellt das Objekt Funktionen bereit, um auf die einzelnen Metriken der Schriftart, ihrer Zeichen sowie auf in dieser Schriftart gerenderte Zeichenfolgen zuzugreifen.

Es gibt mehrere Funktionen, die auf die Schriftart angewendet werden können: „ ascent()“, „ descent()“, „ height()“, „ leading()“ und „ lineSpacing()“ geben die grundlegenden Größenmerkmale der Schriftart zurück. Die Funktionen „ underlinePos()“, „ overlinePos()“, „ strikeOutPos()“ und „ lineWidth()“ geben die Eigenschaften der Linie zurück, die die Zeichen unterstreicht, überstreicht oder durchstreicht. Diese Funktionen sind alle schnell.

Es gibt außerdem einige Funktionen, die auf die Menge der Glyphen in der Schriftart angewendet werden: ` minLeftBearing()`, ` minRightBearing()` und ` maxWidth()`. Diese sind zwangsläufig langsam, und wir empfehlen, sie nach Möglichkeit zu vermeiden.

Für jedes Zeichen können Sie dessen horizontalAdvance(), leftBearing() und rightBearing() abrufen und mit inFont() feststellen, ob es in der Schriftart enthalten ist. Sie können das Zeichen auch als Zeichenkette behandeln und die Zeichenkettenfunktionen darauf anwenden.

Zu den Zeichenfolgenfunktionen gehören „ horizontalAdvance()“, die die Breite einer Zeichenfolge in Pixeln (oder Punkten für einen Drucker) zurückgibt, „ boundingRect()“, die ein Rechteck zurückgibt, das groß genug ist, um die gerenderte Zeichenfolge aufzunehmen, und „ size()“, die die Größe dieses Rechtecks zurückgibt.

QFontMetrics verfügt über zwei verschiedene Funktionen zur Berechnung der Begrenzungswerte einer Zeichenkette, die jeweils über mehrere Überladungen verfügen: ` boundingRect()` und ` tightBoundingRect()`. Wenn ein präzises Begrenzungsrechteck benötigt wird, sollte ` tightBoundingRect()` bevorzugt werden. Diese Funktion misst jedes Glyph einzeln, um ein Begrenzungsrechteck zurückzugeben, das sich eng an den gerenderten Text anschmiegt. Je nach Plattform gibt die Funktion „ boundingRect()“ möglicherweise nur ungefähre Grenzen zurück, erfordert dafür aber weniger Rechenaufwand.

Beispiel:

QFont font("times", 24);
QFontMetricsF fm(font);
qreal pixelsWide = fm.horizontalAdvance("What's the advance width of this text?");
qreal pixelsHigh = fm.height();

Siehe auch „ QFont “, „ QFontInfo “ und „ QFontDatabase “.

Dokumentation zu den Member-Funktionen

[explicit] QFontMetricsF::QFontMetricsF(const QFont &font)

Erstellt ein Objekt mit Schriftmetriken für font.

Die Schriftartenmetriken sind mit dem PaintDevice kompatibel, das zum Erstellen von „ font “ verwendet wurde.

Das Schriftartenmetrik-Objekt enthält die Informationen für die Schriftart, die zum Zeitpunkt der Erstellung im Konstruktor übergeben wurde, und wird nicht aktualisiert, wenn die Attribute der Schriftart später geändert werden.

Verwenden Sie `QFontMetricsF(const QFont &, QPaintDevice *)`, um die Schriftartenmetriken abzurufen, die mit einem bestimmten Zeichen-Device kompatibel sind.

QFontMetricsF::QFontMetricsF(const QFontMetrics &fontMetrics)

Erstellt aus dem angegebenen „ fontMetrics “-Objekt ein Objekt für Schriftartenmetriken mit Gleitkommagenauigkeit.

QFontMetricsF::QFontMetricsF(const QFont &font, const QPaintDevice *paintdevice)

Erstellt ein Objekt mit Schriftmetriken für „ font “ und „ paintdevice “.

Die Schriftartmetriken sind mit dem übergebenen „paintdevice“ kompatibel. Wenn „ paintdevice “ gleich „ nullptr “ ist, sind die Metriken bildschirmkompatibel, d. h., es handelt sich um die Metriken, die Sie erhalten, wenn Sie die Schriftart zum Zeichnen von Text auf einem widgets oder pixmaps verwenden, nicht auf einem QPicture oder QPrinter.

Das Schriftart-Metrik-Objekt enthält die Informationen zu der Schriftart, die zum Zeitpunkt ihrer Erstellung im Konstruktor übergeben wurde, und wird nicht aktualisiert, wenn die Attribute der Schriftart später geändert werden.

QFontMetricsF::QFontMetricsF(const QFontMetricsF &fm)

Erstellt eine Kopie von „ fm “.

[constexpr noexcept default] QFontMetricsF::QFontMetricsF(QFontMetricsF &&)

Erstellt eine Instanz von „ QFontMetricsF “ mithilfe des Move-Konstruktors.

[noexcept] QFontMetricsF::~QFontMetricsF()

Löscht das Schriftart-Metrik-Objekt und gibt alle zugewiesenen Ressourcen frei.

qreal QFontMetricsF::ascent() const

Gibt die Höhe der Schriftart zurück.

Die Höhe einer Schriftart ist der Abstand von der Grundlinie bis zur höchsten Position, bis zu der sich Zeichen erstrecken. In der Praxis weichen manche Schriftdesigner von dieser Regel ab, z. B. wenn sie mehr als einen Akzent über ein Zeichen setzen oder um ein bestimmtes Zeichen unterzubringen, sodass es möglich ist (wenn auch selten), dass dieser Wert zu klein ist.

Siehe auch „ descent()“.

qreal QFontMetricsF::averageCharWidth() const

Gibt die durchschnittliche Breite der Glyphen in der Schriftart zurück.

QRectF QFontMetricsF::boundingRect(QChar ch) const

Gibt das Begrenzungsrechteck des Zeichens „ ch “ relativ zum Punkt ganz links auf der Grundlinie zurück.

Beachten Sie, dass sich das Begrenzungsrechteck möglicherweise bis links von (0, 0) erstreckt, z. B. bei kursiven Schriftarten, und dass die Textausgabe alle Pixel im Begrenzungsrechteck abdecken kann.

Beachten Sie, dass sich das Rechteck in der Regel sowohl oberhalb als auch unterhalb der Grundlinie erstreckt.

Siehe auch ` horizontalAdvance()`.

QRectF QFontMetricsF::boundingRect(const QString &text) const

Gibt das Begrenzungsrechteck der Zeichen in der durch ` text` angegebenen Zeichenkette zurück. Das Begrenzungsrechteck umfasst immer mindestens die Pixel, die der Text abdecken würde, wenn er an der Position (0, 0) gezeichnet würde.

Beachten Sie, dass sich das Begrenzungsrechteck möglicherweise nach links über (0, 0) hinaus erstreckt, z. B. bei kursiven Schriftarten, und dass die Breite des zurückgegebenen Rechtecks von dem Wert abweichen kann, den die Methode ` horizontalAdvance()` zurückgibt.

Wenn Sie die Vorlaufbreite der Zeichenkette ermitteln möchten (um mehrere Zeichenketten nebeneinander anzuordnen), verwenden Sie stattdessen horizontalAdvance().

Zeilenumbruchzeichen werden als normale Zeichen und nicht als Zeilenumbrüche verarbeitet.

Die Höhe des Begrenzungsrechtecks ist mindestens so groß wie der von ` height()` zurückgegebene Wert.

Siehe auch „ horizontalAdvance()“, „ height()“ und „ QPainter::boundingRect()“.

[since 6.3] QRectF QFontMetricsF::boundingRect(const QString &text, const QTextOption &option) const

Gibt das Begrenzungsrechteck der Zeichen in der durch ` text ` angegebenen Zeichenkette zurück, deren Layout mit ` option` festgelegt wurde. Das Begrenzungsrechteck umfasst immer mindestens die Pixelmenge, die der Text abdecken würde, wenn er an der Position (0, 0) gezeichnet würde.

Beachten Sie, dass sich das Begrenzungsrechteck möglicherweise nach links über (0, 0) hinaus erstreckt, z. B. bei kursiven Schriftarten, und dass die Breite des zurückgegebenen Rechtecks von dem Wert abweichen kann, den die Methode ` horizontalAdvance()` zurückgibt.

Wenn Sie die Vorlaufbreite der Zeichenkette ermitteln möchten (um mehrere Zeichenketten nebeneinander anzuordnen), verwenden Sie stattdessen horizontalAdvance().

Zeilenumbruchzeichen werden als normale Zeichen und nicht als Zeilenumbrüche verarbeitet.

Die Höhe des Begrenzungsrechtecks ist mindestens so groß wie der von ` height()` zurückgegebene Wert.

Diese Funktion wurde in Qt 6.3 eingeführt.

Siehe auch ` horizontalAdvance()`, ` height()` und ` QPainter::boundingRect()`.

QRectF QFontMetricsF::boundingRect(const QRectF &rect, int flags, const QString &text, int tabStops = 0, int *tabArray = nullptr) const

Gibt das Begrenzungsrechteck der Zeichen im angegebenen ` text` zurück. Dies ist die Menge der Pixel, die der Text abdecken würde, wenn er innerhalb des durch ` rect` festgelegten Begrenzungsrechtecks gezeichnet würde. Ist ` rect ` eine Referenz auf ein ` nullptr `-Objekt, z. B. bei der Übergabe eines standardmäßig konstruierten ` QRectF`, wird das Begrenzungsrechteck nicht auf diese Größe beschränkt.

Das Argument „ flags “ ist das bitweise ODER der folgenden Flags:

Qt::Horizontal Die Ausrichtung ist standardmäßig auf „ Qt::AlignLeft “ eingestellt, die vertikale Ausrichtung auf „ Qt::AlignTop “.

Sind mehrere der Flags für die horizontale oder mehrere der Flags für die vertikale Ausrichtung gesetzt, ist das Ergebnis der Ausrichtung undefiniert.

Diese Flags sind in Qt::AlignmentFlag definiert.

Wenn „ Qt::TextExpandTabs “ in „ flags “ gesetzt ist, wird das folgende Verhalten zur Interpretation von Tabulatorzeichen im Text verwendet:

  • Ist „ tabArray “ ungleich Null, gibt er eine mit Null abgeschlossene Folge von Pixelpositionen für Tabulatoren im Text an.
  • Ist ` tabStops ` ungleich Null, wird dieser Wert als Tabulatorabstand (in Pixeln) verwendet.

Beachten Sie, dass sich das Begrenzungsrechteck nach links über (0, 0) hinaus erstrecken kann, z. B. bei kursiven Schriftarten.

Zeilenumbruchzeichen werden als Zeilenumbrüche verarbeitet.

Trotz der unterschiedlichen tatsächlichen Zeichenhöhen sind die Höhen der Begrenzungsrechtecke von „Yes“ und „yes“ identisch.

Das von dieser Funktion zurückgegebene Begrenzungsrechteck ist etwas größer als das, das von der einfacheren Funktion `boundingRect()` berechnet wird. Diese Funktion verwendet die Schriftpositionen ` maximum left ` und ` right `, da dies für die korrekte Ausrichtung von mehrzeiligem Text erforderlich ist. Außerdem werden zur Berechnung der Höhe die Funktionen `fontHeight()` und ` lineSpacing()` verwendet, anstatt die Höhen einzelner Zeichen zu berücksichtigen.

Dies ist eine überladene Funktion.

Siehe auch horizontalAdvance(), QPainter::boundingRect() und Qt::Alignment.

qreal QFontMetricsF::capHeight() const

Gibt die Großbuchstabenhöhe der Schriftart zurück.

Die Großbuchstabenhöhe einer Schriftart ist die Höhe eines Großbuchstabens über der Grundlinie. Konkret handelt es sich dabei um die Höhe von flachen Großbuchstaben – wie beispielsweise H oder I – im Gegensatz zu runden Buchstaben wie O oder spitzen Buchstaben wie A, bei denen es zu einem Überhang kommen kann.

Siehe auch „ ascent()“.

qreal QFontMetricsF::descent() const

Gibt die Abwärtshöhe der Schriftart zurück.

Der Abstieg ist der Abstand von der Grundlinie bis zum tiefsten Punkt, bis zu dem sich Zeichen erstrecken. (Beachten Sie, dass sich dies von X unterscheidet, bei dem 1 Pixel hinzugefügt wird.) In der Praxis weichen einige Schriftdesigner von dieser Regel ab, z. B. um einem bestimmten Zeichen Rechnung zu tragen, sodass es möglich ist (wenn auch selten), dass dieser Wert zu klein ist.

Siehe auch „ ascent()“.

QString QFontMetricsF::elidedText(const QString &text, Qt::TextElideMode mode, qreal width, int flags = 0) const

Wenn die Zeichenkette „ text “ breiter ist als „ width “, wird eine gekürzte Version der Zeichenkette zurückgegeben (d. h. eine Zeichenkette, die „...“ enthält). Andernfalls wird die ursprüngliche Zeichenkette zurückgegeben.

Der Parameter „ mode “ legt fest, ob der Text links (z. B. „...tech“), in der Mitte (z. B. „Tr...ch“) oder rechts (z. B. „Trol...“) gekürzt wird.

Der Wert für „ width “ wird in Pixeln und nicht in Zeichen angegeben.

Das Argument „ flags “ ist optional und unterstützt derzeit ausschließlich den Wert „ Qt::TextShowMnemonic “.

Die Elidierungsmarkierung folgt auf die „ layoutdirection “. Bei Layouts von rechts nach links befindet sie sich beispielsweise auf der rechten Seite des Textes, wenn die „ mode “ auf „ Qt::ElideLeft “ gesetzt ist, und auf der linken Seite des Textes, wenn die „ mode “ auf „ Qt::ElideRight “ gesetzt ist.

qreal QFontMetricsF::fontDpi() const

Gibt die Schriftart-DPI zurück.

qreal QFontMetricsF::height() const

Gibt die Höhe der Schriftart zurück.

Diese entspricht immer der Summe aus ` ascent()` und `descent()`.

Siehe auch leading() und lineSpacing().

[since 6.3] qreal QFontMetricsF::horizontalAdvance(const QString &text, const QTextOption &option) const

Gibt den horizontalen Versatz in Pixeln von „ text “ zurück, das mithilfe von „ option “ angelegt wurde.

Der Versatz entspricht dem Abstand, der zum Zeichnen eines nachfolgenden Zeichens nach ` text` erforderlich ist.

Diese Funktion wurde in Qt 6.3 eingeführt.

Siehe auch ` boundingRect()`.

qreal QFontMetricsF::horizontalAdvance(const QString &text, int length = -1) const

Gibt den horizontalen Versatz in Pixeln der ersten length Zeichen von text zurück. Ist length negativ (Standard), wird die gesamte Zeichenkette verwendet. Die gesamte Länge von text wird analysiert, auch wenn length wesentlich kürzer ist.

Der Abstand ist die Entfernung, die zum Zeichnen eines nachfolgenden Zeichens nach text erforderlich ist.

Siehe auch boundingRect().

qreal QFontMetricsF::horizontalAdvance(QChar ch) const

Lager

Gibt den horizontalen Versatz des Zeichen- ch s in Pixeln zurück. Dies ist ein Abstand, der zum Zeichnen eines nachfolgenden Zeichens nach ch geeignet ist.

Einige der Metriken sind in der Abbildung rechts dargestellt. Die zentralen dunklen Rechtecke decken den logischen „horizontalAdvance()“-Wert jedes Zeichens ab. Die äußeren hellen Rechtecke decken die Werte für „ leftBearing()“ und „ rightBearing()“ jedes Zeichens ab. Beachten Sie, dass die Abstände des Buchstabens „f“ in dieser speziellen Schriftart beide negativ sind, während die Abstände des Buchstabens „o“ beide positiv sind.

Warnung: Diese Funktion liefert falsche Ergebnisse für arabische Zeichen oder Nicht-Leerzeichen in der Mitte einer Zeichenkette, da die bei der Verarbeitung von Zeichenketten stattfindende Glyphenformung und -positionierung nicht berücksichtigt werden kann. Verwenden Sie bei der Implementierung eines interaktiven Textsteuerelements stattdessen ` QTextLayout `.

Dies ist eine überladene Funktion.

Siehe auch boundingRect().

bool QFontMetricsF::inFont(QChar ch) const

Gibt „ true “ zurück, wenn das Zeichen „ ch “ ein gültiges Zeichen in der Schriftart ist; andernfalls wird „ false “ zurückgegeben.

bool QFontMetricsF::inFontUcs4(uint ch) const

Gibt „ true “ zurück, wenn das durch „ ch “ angegebene Zeichen, kodiert in UCS-4/UTF-32, ein gültiges Zeichen in der Schriftart ist; andernfalls wird „ false “ zurückgegeben.

qreal QFontMetricsF::leading() const

Gibt den Zeilenabstand der Schriftart zurück.

Dies ist der natürliche Zeilenabstand.

Siehe auch „ height “ () und „ lineSpacing “ ().

qreal QFontMetricsF::leftBearing(QChar ch) const

Gibt die linke Peilung des Zeichens „ ch “ in der Schriftart zurück.

Der linke Versatz ist der Abstand des ganz links liegenden Pixels des Zeichens nach rechts vom logischen Ursprung des Zeichens. Dieser Wert ist negativ, wenn sich die Pixel des Zeichens links vom logischen Ursprung erstrecken.

Eine grafische Darstellung dieser Metrik finden Sie unter „ horizontalAdvance()“.

Siehe auch „ rightBearing()“, „ minLeftBearing()“ und „ horizontalAdvance()“.

qreal QFontMetricsF::lineSpacing() const

Gibt den Abstand von einer Basislinie zur nächsten zurück.

Dieser Wert ist immer gleich leading() +height().

Siehe auch height() und leading().

qreal QFontMetricsF::lineWidth() const

Gibt die Breite der Unterstreichungs- und Durchstreichungslinien zurück, angepasst an die Schriftgröße.

Siehe auch underlinePos(), overlinePos() und strikeOutPos().

qreal QFontMetricsF::maxWidth() const

Gibt die Breite des breitesten Zeichens in der Schriftart zurück.

qreal QFontMetricsF::minLeftBearing() const

Gibt die kleinste linke Peilung der Schriftart zurück.

Dies ist der kleinste „ leftBearing “ (Zeichen) aller Zeichen in der Schriftart.

Beachten Sie, dass diese Funktion bei großen Schriftarten sehr langsam sein kann.

Siehe auch „ minRightBearing()“ und „ leftBearing()“.

qreal QFontMetricsF::minRightBearing() const

Gibt den kleinsten Rechtsversatz der Schriftart zurück.

Dies ist der kleinste Wert von „ rightBearing “ (Zeichen) aller Zeichen in der Schriftart.

Beachten Sie, dass diese Funktion bei großen Schriftarten sehr langsam sein kann.

Siehe auch „ minLeftBearing()“ und „ rightBearing()“.

qreal QFontMetricsF::overlinePos() const

Gibt den Abstand von der Grundlinie bis zu der Stelle zurück, an der ein Oberstrich gezeichnet werden soll.

Siehe auch underlinePos(), strikeOutPos() und lineWidth().

qreal QFontMetricsF::rightBearing(QChar ch) const

Gibt die rechte Ausrichtung des Zeichens „ ch “ in der Schriftart zurück.

Der rechte Versatz ist der Abstand des ganz rechts liegenden Pixels des Zeichens nach links vom logischen Ursprung eines nachfolgenden Zeichens. Dieser Wert ist negativ, wenn sich die Pixel des Zeichens über die „ horizontalAdvance “ () des Zeichens hinaus nach rechts erstrecken.

Eine grafische Darstellung dieser Metrik finden Sie unter „ horizontalAdvance()“.

Siehe auch „ leftBearing()“, „ minRightBearing()“ und „ horizontalAdvance()“.

QSizeF QFontMetricsF::size(int flags, const QString &text, int tabStops = 0, int *tabArray = nullptr) const

Gibt die Größe der Zeichen in Pixeln im angegebenen ` text` zurück.

Das Argument ` flags ` ist das bitweise ODER der folgenden Flags:

Diese Flags sind in der Enumeration „ Qt::TextFlag “ definiert.

Wenn „ Qt::TextExpandTabs “ in „ flags “ gesetzt ist, wird das folgende Verhalten zur Interpretation von Tabulatorzeichen im Text verwendet:

  • Ist ` tabArray ` ungleich Null, gibt es eine mit Null abgeschlossene Folge von Pixelpositionen für Tabulatoren im Text an.
  • Ist „ tabStops “ ungleich Null, wird dieser Wert als Tabulatorabstand (in Pixeln) verwendet.

Zeilenumbruchzeichen werden als Zeilenumbrüche verarbeitet.

Hinweis: Trotz der unterschiedlichen tatsächlichen Zeichenhöhen sind die Höhen der Begrenzungsrechtecke von „Yes“ und „yes“ identisch.

Siehe auch boundingRect().

qreal QFontMetricsF::strikeOutPos() const

Gibt den Abstand von der Grundlinie bis zu der Stelle zurück, an der die Durchstreichungslinie gezogen werden soll.

Siehe auch underlinePos(), overlinePos() und lineWidth().

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

Ersetzt diese Instanz der Schriftartmetrik durch „ other “. Dieser Vorgang ist sehr schnell und schlägt niemals fehl.

QRectF QFontMetricsF::tightBoundingRect(const QString &text) const

Gibt ein eng anliegendes Begrenzungsrechteck um die Zeichen in der durch ` text` angegebenen Zeichenkette zurück. Das Begrenzungsrechteck umfasst immer mindestens die Pixel, die der Text abdecken würde, wenn er an der Position (0, 0) gezeichnet würde.

Beachten Sie, dass sich das Begrenzungsrechteck möglicherweise nach links über (0, 0) hinaus erstreckt, z. B. bei kursiven Schriftarten, und dass die Breite des zurückgegebenen Rechtecks von der Breite abweichen kann, die die Methode ` horizontalAdvance()` zurückgibt.

Wenn Sie die Abstandsbreite der Zeichenkette ermitteln möchten (um mehrere Zeichenketten nebeneinander anzuordnen), verwenden Sie stattdessen ` horizontalAdvance()`.

Zeilenumbruchzeichen werden als normale Zeichen und nicht als Zeilenumbrüche verarbeitet.

Siehe auch ` horizontalAdvance()`, ` height()` und ` boundingRect()`.

[since 6.3] QRectF QFontMetricsF::tightBoundingRect(const QString &text, const QTextOption &option) const

Gibt ein eng anliegendes Begrenzungsrechteck um die Zeichen in der durch text angegebenen Zeichenkette zurück, die mit option layoutet wurde. Das Begrenzungsrechteck umfasst immer mindestens die Pixel, die der Text abdecken würde, wenn er an der Position (0,0) gezeichnet würde.

Beachten Sie, dass sich das Begrenzungsrechteck möglicherweise nach links über (0, 0) hinaus erstreckt, z. B. bei kursiven Schriftarten, und dass die Breite des zurückgegebenen Rechtecks von dem Wert abweichen kann, den die Methode ` horizontalAdvance()` zurückgibt.

Wenn Sie die Abstandsbreite der Zeichenkette ermitteln möchten (um mehrere Zeichenketten nebeneinander anzuordnen), verwenden Sie stattdessen horizontalAdvance().

Zeilenumbruchzeichen werden als normale Zeichen und nicht als Zeilenumbrüche verarbeitet.

Diese Funktion wurde in Qt 6.3 eingeführt.

Siehe auch ` horizontalAdvance()`, ` height()` und ` boundingRect()`.

qreal QFontMetricsF::underlinePos() const

Gibt den Abstand von der Grundlinie bis zu der Stelle zurück, an der ein Unterstrich gezeichnet werden soll.

Siehe auch overlinePos(), strikeOutPos() und lineWidth().

qreal QFontMetricsF::xHeight() const

Gibt die „x“-Höhe der Schriftart zurück. Diese entspricht oft, aber nicht immer, der Höhe des Buchstabens „x“.

bool QFontMetricsF::operator!=(const QFontMetricsF &other) const

Gibt „ true “ zurück, wenn die Schriftartmetriken nicht mit den Metriken der Schriftart „ other “ übereinstimmen; andernfalls wird „ false “ zurückgegeben.

Siehe auch operator==().

[noexcept] QFontMetricsF &QFontMetricsF::operator=(QFontMetricsF &&other)

Weist „ other “ dieser „ QFontMetricsF “-Instanz zu.

QFontMetricsF &QFontMetricsF::operator=(const QFontMetrics &other)

Weist diesem Objekt „ other “ zu.

QFontMetricsF &QFontMetricsF::operator=(const QFontMetricsF &fm)

Weist diesem Schriftmetrikobjekt die Schriftmetrik „ fm “ zu.

bool QFontMetricsF::operator==(const QFontMetricsF &other) const

Gibt „ true “ zurück, wenn die Schriftmetriken mit den Metriken von „ other “ übereinstimmen; andernfalls wird „ false “ zurückgegeben.

Zwei Schriftartenmetriken gelten als gleich, wenn sie aus demselben „ QFont “ erstellt wurden und die Zeichengeräte, für die sie erstellt wurden, als kompatibel gelten.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.