QFontMetrics Class
Die Klasse QFontMetrics liefert Informationen über Schriftmetriken. Mehr...
Kopfzeile: | #include <QFontMetrics> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QFontMetrics ist Teil von Painting Classes und Implicitly Shared Classes.
Hinweis: Alle Funktionen in dieser Klasse sind reentrant.
Öffentliche Funktionen
QFontMetrics(const QFont &font) | |
QFontMetrics(const QFont &font, const QPaintDevice *paintdevice) | |
QFontMetrics(const QFontMetrics &fm) | |
~QFontMetrics() | |
int | ascent() const |
int | averageCharWidth() const |
QRect | boundingRect(QChar ch) const |
QRect | boundingRect(const QString &text) const |
(since 6.3) QRect | boundingRect(const QString &text, const QTextOption &option) const |
QRect | boundingRect(const QRect &rect, int flags, const QString &text, int tabStops = 0, int *tabArray = nullptr) const |
QRect | boundingRect(int x, int y, int width, int height, int flags, const QString &text, int tabStops = 0, int *tabArray = nullptr) const |
int | capHeight() const |
int | descent() const |
QString | elidedText(const QString &text, Qt::TextElideMode mode, int width, int flags = 0) const |
qreal | fontDpi() const |
int | height() const |
(since 6.3) int | horizontalAdvance(const QString &text, const QTextOption &option) const |
int | horizontalAdvance(const QString &text, int len = -1) const |
int | horizontalAdvance(QChar ch) const |
bool | inFont(QChar ch) const |
bool | inFontUcs4(uint ucs4) const |
int | leading() const |
int | leftBearing(QChar ch) const |
int | lineSpacing() const |
int | lineWidth() const |
int | maxWidth() const |
int | minLeftBearing() const |
int | minRightBearing() const |
int | overlinePos() const |
int | rightBearing(QChar ch) const |
QSize | size(int flags, const QString &text, int tabStops = 0, int *tabArray = nullptr) const |
int | strikeOutPos() const |
void | swap(QFontMetrics &other) |
QRect | tightBoundingRect(const QString &text) const |
(since 6.3) QRect | tightBoundingRect(const QString &text, const QTextOption &option) const |
int | underlinePos() const |
int | xHeight() const |
bool | operator!=(const QFontMetrics &other) const |
QFontMetrics & | operator=(QFontMetrics &&other) |
QFontMetrics & | operator=(const QFontMetrics &fm) |
bool | operator==(const QFontMetrics &other) const |
Detaillierte Beschreibung
QFontMetrics-Funktionen berechnen die Größe von Zeichen und Strings für eine bestimmte Schriftart. Die Klasse ist eine Integer-basierte Version von QFontMetricsF und rundet alle Zahlen auf die nächstliegende Ganzzahl. Das bedeutet, dass ihre Ergebnisse für jede Schriftart mit gebrochenen Metriken ungenau sind. In den meisten Fällen sollte stattdessen QFontMetricsF verwendet werden.
Es gibt drei Möglichkeiten, ein QFontMetrics-Objekt zu erstellen:
- Der Aufruf des QFontMetrics-Konstruktors mit QFont erzeugt ein Font-Metrics-Objekt für einen bildschirmkompatiblen Font, d.h. der Font kann kein Druckerfont sein. Wenn die Schriftart später geändert wird, wird das Fontmetrik-Objekt nicht aktualisiert.
(Hinweis: Wenn Sie eine Druckerschriftart verwenden, können die zurückgegebenen Werte ungenau sein. Druckerschriften sind nicht immer zugänglich, so dass die nächstgelegene Bildschirmschriftart verwendet wird, wenn eine Druckerschriftart angegeben wird).
- QWidget::fontMetrics() gibt die Schriftmetriken für die Schriftart eines Widgets zurück. Dies ist äquivalent zu QFontMetrics(widget->font()). Wenn die Schriftart des Widgets später geändert wird, wird das Schriftmetrik-Objekt nicht aktualisiert.
- QPainter::fontMetrics() gibt die Schriftmetrik für die aktuelle Schriftart eines Malers zurück. Wenn die Schriftart des Malers später geändert wird, wird das Schriftmetrik-Objekt nicht aktualisiert.
Nach der Erstellung bietet das Objekt Funktionen für den Zugriff auf die einzelnen Metriken der Schriftart, ihrer Zeichen und für in der Schriftart gerenderte Strings.
Es gibt mehrere Funktionen, die auf die Schriftart wirken: ascent(), descent(), height(), leading() und lineSpacing() geben die grundlegenden Größeneigenschaften 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 auch einige Funktionen, die mit der Menge der Glyphen in der Schriftart arbeiten: 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 seine horizontalAdvance(), leftBearing() und rightBearing() abrufen und mit inFont() herausfinden, ob es in der Schriftart enthalten ist. Sie können das Zeichen auch als String behandeln und die String-Funktionen darauf anwenden.
Zu den String-Funktionen gehören horizontalAdvance(), um die Breite einer Zeichenkette in Pixeln (oder Punkten, für einen Drucker) zurückzugeben, boundingRect(), um ein Rechteck zurückzugeben, das groß genug ist, um die gerenderte Zeichenkette zu enthalten, und size(), um die Größe dieses Rechtecks zurückzugeben.
Hinweis: Die Vorlaufbreite kann sich von der Breite des tatsächlich gerenderten Textes unterscheiden. Sie bezieht sich auf den Abstand zwischen dem Ursprung der Zeichenkette und der Stelle, an der Sie zusätzliche Zeichen anfügen würden. Da der Text einen Überhang (z. B. bei einer kursiven Schrift) oder eine Auffüllung zwischen den Zeichen aufweisen kann, kann die Vorlaufbreite entweder kleiner oder größer sein als die tatsächliche Darstellung des Textes. Dies wird als rechte Ausrichtung des Textes bezeichnet.
Beispiel:
QFont font("times", 24); QFontMetrics fm(font); int pixelsWide = fm.horizontalAdvance("What's the advance width of this text?"); int pixelsHigh = fm.height();
Siehe auch QFont, QFontInfo, und QFontDatabase.
Dokumentation der Mitgliedsfunktionen
[explicit]
QFontMetrics::QFontMetrics(const QFont &font)
Konstruiert ein Font-Metrik-Objekt für font.
Die Schriftmetrik ist mit dem zur Erstellung von font verwendeten Malgerät kompatibel.
Das Fontmetrik-Objekt enthält die Informationen für den Font, die im Konstruktor zum Zeitpunkt der Erstellung übergeben werden, und wird nicht aktualisiert, wenn die Attribute des Fonts später geändert werden.
Verwenden Sie QFontMetrics(const QFont &, QPaintDevice *), um die Schriftmetriken zu erhalten, die mit einem bestimmten Malgerät kompatibel sind.
QFontMetrics::QFontMetrics(const QFont &font, const QPaintDevice *paintdevice)
Konstruiert ein Font-Metrik-Objekt für font und paintdevice.
Die Schriftmetriken sind mit dem übergebenen Zeichengerät kompatibel. Wenn paintdevice nullptr
ist, werden die Metriken bildschirmkompatibel sein, d.h. 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 Font-Metrik-Objekt enthält die Informationen für den Font, die im Konstruktor zum Zeitpunkt der Erstellung übergeben werden, und wird nicht aktualisiert, wenn die Attribute des Fonts später geändert werden.
QFontMetrics::QFontMetrics(const QFontMetrics &fm)
Konstruiert eine Kopie von fm.
[noexcept]
QFontMetrics::~QFontMetrics()
Zerstört das Schriftmetrikobjekt und gibt alle zugewiesenen Ressourcen frei.
int QFontMetrics::ascent() const
Gibt die Steigung der Schriftart zurück.
Die Steigung einer Schrift ist der Abstand von der Grundlinie bis zur höchsten Position, zu der die Zeichen reichen. In der Praxis brechen einige Schriftdesigner diese Regel, z. B. wenn sie mehr als einen Akzent auf ein Zeichen setzen oder um ein bestimmtes Zeichen unterzubringen, daher ist es möglich (wenn auch selten), dass dieser Wert zu klein ist.
Siehe auch descent().
int QFontMetrics::averageCharWidth() const
Gibt die durchschnittliche Breite der Glyphen in der Schriftart zurück.
QRect QFontMetrics::boundingRect(QChar ch) const
Gibt das Rechteck zurück, das von der Tinte bedeckt wird, wenn das Zeichen ch im Ursprung des Koordinatensystems gezeichnet würde.
Beachten Sie, dass sich das Begrenzungsrechteck bis links von (0, 0) erstrecken kann (z. B. bei kursiven Schriftarten) und dass die Textausgabe alle Pixel im Begrenzungsrechteck abdecken kann. Für ein Leerzeichen ist das Rechteck normalerweise leer.
Beachten Sie, dass sich das Rechteck normalerweise sowohl über als auch unter der Grundlinie erstreckt.
Warnung: Die Breite des zurückgegebenen Rechtecks entspricht nicht der Vorschubbreite des Zeichens. Verwenden Sie stattdessen boundingRect(const QString &) oder horizontalAdvance().
Siehe auch horizontalAdvance().
QRect QFontMetrics::boundingRect(const QString &text) const
Gibt das Begrenzungsrechteck der Zeichen in der durch text angegebenen Zeichenkette zurück. Das Begrenzungsrechteck umfasst immer mindestens die Menge der Pixel, die der Text abdecken würde, wenn er bei (0, 0) gezeichnet würde.
Beachten Sie, dass sich das Begrenzungsrechteck bis links von (0, 0) erstrecken kann, z. B. bei kursiven Schriftarten, und dass die Breite des zurückgegebenen Rechtecks von dem abweichen kann, was die Methode horizontalAdvance() zurückgibt.
Wenn Sie die voraussichtliche Breite der Zeichenkette wissen wollen (um eine Reihe von Zeichenketten nebeneinander anzuordnen), verwenden Sie stattdessen horizontalAdvance().
Zeilenumbrüche werden als normale Zeichen verarbeitet, nicht als Zeilenumbrüche.
Die Höhe des Begrenzungsrechtecks ist mindestens so groß wie der von height() zurückgegebene Wert.
Siehe auch horizontalAdvance(), height(), QPainter::boundingRect(), und tightBoundingRect().
[since 6.3]
QRect QFontMetrics::boundingRect(const QString &text, const QTextOption &option) const
Gibt das begrenzende Rechteck der Zeichen in der durch text angegebenen Zeichenkette zurück, das mit option angelegt wurde. Das Begrenzungsrechteck deckt immer mindestens die Menge der Pixel ab, die der Text abdecken würde, wenn er bei (0, 0) gezeichnet würde.
Beachten Sie, dass das begrenzende Rechteck auch links von (0, 0) liegen kann, z. B. bei kursiven Schriftarten, und dass die Breite des zurückgegebenen Rechtecks von dem abweichen kann, was die Methode horizontalAdvance() zurückgibt.
Wenn Sie die voraussichtliche Breite der Zeichenkette wissen wollen (um eine Reihe von Zeichenketten nebeneinander anzuordnen), verwenden Sie stattdessen horizontalAdvance().
Zeilenumbrüche werden als normale Zeichen verarbeitet, nicht als Zeilenumbrüche.
Die Höhe des begrenzenden Rechtecks ist mindestens so groß wie der Wert, der von height() zurückgegeben wird.
Diese Funktion wurde in Qt 6.3 eingeführt.
Siehe auch horizontalAdvance(), height(), QPainter::boundingRect(), und tightBoundingRect().
QRect QFontMetrics::boundingRect(const QRect &rect, int flags, const QString &text, int tabStops = 0, int *tabArray = nullptr) const
Dies ist eine überladene Funktion.
Gibt das Begrenzungsrechteck der Zeichen in der durch text angegebenen Zeichenkette zurück, d. h. die Menge der Pixel, die der Text abdecken würde, wenn er auf (0, 0) gezeichnet würde. Die Zeichnung, und damit das begrenzende Rechteck, ist auf das Rechteck rect beschränkt.
Das Argument flags ist das bitweise ODER der folgenden Flags:
- Qt::AlignLeft richtet sich am linken Rand aus, außer für Arabisch und Hebräisch, wo es sich am rechten Rand ausrichtet.
- Qt::AlignRight Richtet sich am rechten Rand aus, außer bei Arabisch und Hebräisch, wo es sich am linken Rand ausrichtet.
- Qt::AlignJustify erzeugt Blocksatz.
- Qt::AlignHCenter richtet sich horizontal zentriert aus.
- Qt::AlignTop richtet sich am oberen Rand aus.
- Qt::AlignBottom Richtet sich am unteren Rand aus.
- Qt::AlignVCenter richtet sich vertikal zentriert aus
- Qt::AlignCenter (==
Qt::AlignHCenter | Qt::AlignVCenter
) - Qt::TextSingleLine ignoriert Zeilenumbrüche im Text.
- Qt::TextExpandTabs expandiert Tabulatoren (siehe unten)
- Qt::TextShowMnemonic interpretiert "&x" als x, d.h. unterstrichen.
- Qt::TextWordWrap bricht den Text so um, dass er in das Rechteck passt.
Qt::Horizontal Die Ausrichtung ist standardmäßig Qt::AlignLeft und die vertikale Ausrichtung ist standardmäßig Qt::AlignTop.
Wenn mehrere der Flags für die horizontale oder vertikale Ausrichtung gesetzt sind, ist die resultierende Ausrichtung undefiniert.
Wenn Qt::TextExpandTabs in flags gesetzt ist, dann: wenn tabArray nicht null ist, gibt es eine 0-terminierte Sequenz von Pixelpositionen für Tabulatoren an; andernfalls, wenn tabStops nicht null ist, wird es als Tabulatorabstand (in Pixel) verwendet.
Beachten Sie, dass das Begrenzungsrechteck bis links von (0, 0) reichen kann, z. B. bei kursiven Schriftarten, und dass die Textausgabe alle Pixel im Begrenzungsrechteck abdecken kann.
Newline-Zeichen werden als Zeilenumbrüche verarbeitet.
Trotz der unterschiedlichen tatsächlichen Zeichenhöhen sind die Höhen der Begrenzungsrechtecke von "Yes" und "yes" gleich groß.
Das von dieser Funktion zurückgegebene Begrenzungsrechteck ist etwas größer als das von der einfacheren Funktion boundingRect() berechnete. Diese Funktion verwendet die Schriftarten maximum left und right, da dies für die korrekte Ausrichtung von mehrzeiligem Text erforderlich ist. Außerdem werden fontHeight() und lineSpacing() verwendet, um die Höhe zu berechnen, und nicht die einzelnen Zeichenhöhen.
Siehe auch horizontalAdvance(), QPainter::boundingRect(), und Qt::Alignment.
QRect QFontMetrics::boundingRect(int x, int y, int width, int height, int flags, const QString &text, int tabStops = 0, int *tabArray = nullptr) const
Dies ist eine überladene Funktion.
Gibt das begrenzende Rechteck für das angegebene text innerhalb des durch die Koordinaten x und y, width und height angegebenen Rechtecks zurück.
Wenn Qt::TextExpandTabs in flags gesetzt ist und tabArray nicht null ist, gibt es eine 0-terminierte Sequenz von Pixelpositionen für Tabulatoren an; andernfalls, wenn tabStops nicht null ist, wird es als Tabulatorabstand (in Pixel) verwendet.
int QFontMetrics::capHeight() const
Gibt die Versalhöhe der Schriftart zurück.
Die Versalhöhe einer Schriftart ist die Höhe eines Großbuchstabens über der Grundlinie. Es handelt sich insbesondere um die Höhe von Großbuchstaben, die flach sind - wie H oder I - im Gegensatz zu runden Buchstaben wie O oder spitzen Buchstaben wie A, die beide eine Überschreitung aufweisen können.
Siehe auch ascent().
int QFontMetrics::descent() const
Gibt das Gefälle der Schrift zurück.
Das Gefälle ist der Abstand zwischen der Grundlinie und dem niedrigsten Punkt, bis zu dem sich die Zeichen erstrecken. In der Praxis brechen einige Schriftdesigner diese Regel, z. B. um ein bestimmtes Zeichen unterzubringen, so dass es möglich (wenn auch selten) ist, dass dieser Wert zu klein ist.
Siehe auch ascent().
QString QFontMetrics::elidedText(const QString &text, Qt::TextElideMode mode, int width, int flags = 0) const
Wenn die Zeichenkette text breiter als width ist, wird eine elidierte Version der Zeichenkette zurückgegeben (d. h. eine Zeichenkette mit "..." darin). Andernfalls wird die ursprüngliche Zeichenkette zurückgegeben.
Der Parameter mode gibt an, ob der Text auf der linken Seite (z. B. "...tech"), in der Mitte (z. B. "Tr...ch") oder auf der rechten Seite (z. B. "Trol...") weggelassen wird.
width wird in Pixeln und nicht in Zeichen angegeben.
Das Argument flags ist optional und unterstützt derzeit nur Qt::TextShowMnemonic als Wert.
Die Auslassungsmarkierung folgt dem layoutdirection. Bei Layouts von rechts nach links befindet sie sich beispielsweise auf der rechten Seite des Textes, wenn mode Qt::ElideLeft
ist, und auf der linken Seite des Textes, wenn mode Qt::ElideRight
ist.
qreal QFontMetrics::fontDpi() const
Gibt den DPI-Wert der Schrift zurück.
int QFontMetrics::height() const
Gibt die Höhe der Schrift zurück.
Dies ist immer gleich ascent()+descent().
Siehe auch leading() und lineSpacing().
[since 6.3]
int QFontMetrics::horizontalAdvance(const QString &text, const QTextOption &option) const
Gibt den horizontalen Abstand in Pixeln von text zurück, der mit option festgelegt wurde.
Der Vorsprung ist der Abstand, der für das Zeichnen eines nachfolgenden Zeichens nach text geeignet ist.
Diese Funktion wurde in Qt 6.3 eingeführt.
Siehe auch boundingRect().
int QFontMetrics::horizontalAdvance(const QString &text, int len = -1) const
Gibt den horizontalen Abstand in Pixeln der ersten len Zeichen von text zurück. Wenn len negativ ist (Standard), wird die gesamte Zeichenfolge verwendet. Die gesamte Länge von text wird ausgewertet, auch wenn len wesentlich kürzer ist.
Dies ist der angemessene Abstand für das Zeichnen eines nachfolgenden Zeichens nach text.
Siehe auch boundingRect().
int QFontMetrics::horizontalAdvance(QChar ch) const
Dies ist eine überladene Funktion.
Gibt den horizontalen Abstand des Zeichens ch in Pixeln zurück. Dies ist ein Abstand, der für das Zeichnen eines nachfolgenden Zeichens nach ch geeignet ist.
Einige der Metriken sind in der Abbildung beschrieben. Die mittleren dunklen Rechtecke decken den logischen horizontalen Vorsprung() jedes Zeichens ab. Die äußeren hellen Rechtecke decken die leftBearing() und rightBearing() der einzelnen Zeichen ab. Beachten Sie, dass die Ausrichtungen von "f" in dieser speziellen Schriftart beide negativ sind, während die Ausrichtungen von "o" beide positiv sind.
Warnung: Diese Funktion liefert falsche Ergebnisse für arabische Zeichen oder Zeichen ohne Zwischenraum in der Mitte einer Zeichenkette, da die Formung und Positionierung der Zeichen bei der Verarbeitung von Zeichenketten nicht berücksichtigt werden kann. Wenn Sie eine interaktive Textsteuerung implementieren, verwenden Sie stattdessen QTextLayout.
Siehe auch boundingRect().
bool QFontMetrics::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 QFontMetrics::inFontUcs4(uint ucs4) const
Gibt true
zurück, wenn das in UCS-4/UTF-32 kodierte Zeichen ucs4 ein gültiges Zeichen in der Schriftart ist; andernfalls wird false
zurückgegeben.
int QFontMetrics::leading() const
Gibt den Zeilenabstand der Schrift zurück.
Dies ist der natürliche Abstand zwischen den Zeilen.
Siehe auch height() und lineSpacing().
int QFontMetrics::leftBearing(QChar ch) const
Gibt die linke Ausrichtung des Zeichens ch in der Schriftart zurück.
Die linke Ausrichtung ist der Abstand des am weitesten links liegenden Pixels des Zeichens vom logischen Ursprung des Zeichens nach rechts. Dieser Wert ist negativ, wenn sich die Pixel des Zeichens nach links vom logischen Ursprung erstrecken.
Siehe horizontalAdvance() für eine grafische Beschreibung dieser Metrik.
Siehe auch rightBearing(), minLeftBearing(), und horizontalAdvance().
int QFontMetrics::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().
int QFontMetrics::lineWidth() const
Gibt die Breite der unterstrichenen und durchgestrichenen Zeilen zurück, angepasst an die Punktgröße der Schriftart.
Siehe auch underlinePos(), overlinePos(), und strikeOutPos().
int QFontMetrics::maxWidth() const
Gibt die Breite des breitesten Zeichens in der Schriftart zurück.
int QFontMetrics::minLeftBearing() const
Gibt die minimale linke Peilung der Schriftart zurück.
Dies ist die kleinste leftBearing(char) aller Zeichen in der Schriftart.
Beachten Sie, dass diese Funktion sehr langsam sein kann, wenn die Schriftart sehr groß ist.
Siehe auch minRightBearing() und leftBearing().
int QFontMetrics::minRightBearing() const
Gibt die minimale rechte Ausrichtung der Schriftart zurück.
Dies ist die kleinste rightBearing(char) aller Zeichen in der Schriftart.
Beachten Sie, dass diese Funktion sehr langsam sein kann, wenn die Schriftart sehr groß ist.
Siehe auch minLeftBearing() und rightBearing().
int QFontMetrics::overlinePos() const
Liefert den Abstand von der Grundlinie zu der Stelle, an der eine Überlinie gezeichnet werden soll.
Siehe auch underlinePos(), strikeOutPos(), und lineWidth().
int QFontMetrics::rightBearing(QChar ch) const
Gibt die rechte Ausrichtung des Zeichens ch in der Schriftart zurück.
Die rechte Ausrichtung ist der Abstand des äußersten rechten Pixels des Zeichens vom logischen Ursprung eines nachfolgenden Zeichens nach links. Dieser Wert ist negativ, wenn sich die Pixel des Zeichens nach rechts von horizontalAdvance() des Zeichens erstrecken.
Siehe horizontalAdvance() für eine grafische Beschreibung dieser Metrik.
Siehe auch leftBearing(), minRightBearing(), und horizontalAdvance().
QSize QFontMetrics::size(int flags, const QString &text, int tabStops = 0, int *tabArray = nullptr) const
Gibt die Größe von text in Pixeln zurück.
Das Argument flags ist das bitweise ODER der folgenden Flags:
- Qt::TextSingleLine ignoriert Zeilenumbruchzeichen.
- Qt::TextExpandTabs expandiert Tabulatoren (siehe unten)
- Qt::TextShowMnemonic interpretiert "&x" als x, d.h. unterstrichen.
- Qt::TextWordWrap bricht den Text um, damit er in das Rechteck passt.
Wenn Qt::TextExpandTabs in flags gesetzt ist, dann: wenn tabArray nicht null ist, gibt es eine 0-terminierte Sequenz von Pixelpositionen für Tabulatoren an; andernfalls, wenn tabStops nicht null ist, wird es als Tabulatorabstand (in Pixel) verwendet.
Newline-Zeichen werden als Zeilenumbrüche verarbeitet.
Trotz der unterschiedlichen tatsächlichen Zeichenhöhen sind die Höhen der begrenzenden Rechtecke von "Yes" und "yes" gleich.
Siehe auch boundingRect().
int QFontMetrics::strikeOutPos() const
Liefert den Abstand von der Grundlinie zu der Stelle, an der die Strikeout-Linie gezeichnet werden soll.
Siehe auch underlinePos(), overlinePos(), und lineWidth().
[noexcept]
void QFontMetrics::swap(QFontMetrics &other)
Tauscht diese Schriftmetrik-Instanz mit other aus. Dieser Vorgang ist sehr schnell und schlägt nie fehl.
QRect QFontMetrics::tightBoundingRect(const QString &text) const
Gibt ein eng begrenztes Rechteck um die Zeichen in der durch text angegebenen Zeichenkette zurück. Das Begrenzungsrechteck deckt immer mindestens die Menge der Pixel ab, die der Text abdecken würde, wenn er bei (0, 0) gezeichnet würde.
Beachten Sie, dass sich das begrenzende Rechteck auch links von (0, 0) erstrecken kann, z. B. bei kursiven Schriftarten, und dass die Breite des zurückgegebenen Rechtecks anders sein kann als das, was die Methode horizontalAdvance() zurückgibt.
Wenn Sie die voraussichtliche Breite der Zeichenkette wissen wollen (um eine Reihe von Zeichenketten nebeneinander anzuordnen), verwenden Sie stattdessen horizontalAdvance().
Newline-Zeichen werden als normale Zeichen verarbeitet, nicht als Zeilenumbrüche.
Siehe auch horizontalAdvance(), height(), und boundingRect().
[since 6.3]
QRect QFontMetrics::tightBoundingRect(const QString &text, const QTextOption &option) const
Gibt ein eng begrenztes Rechteck um die Zeichen in der durch text angegebenen Zeichenkette zurück, das mit option angelegt wurde. Das Begrenzungsrechteck deckt immer mindestens die Menge der Pixel ab, die der Text abdecken würde, wenn er bei (0, 0) gezeichnet würde.
Beachten Sie, dass sich das Begrenzungsrechteck links von (0, 0) erstrecken kann, z. B. bei kursiven Schriftarten, und dass die Breite des zurückgegebenen Rechtecks anders sein kann als das, was die Methode horizontalAdvance() zurückgibt.
Wenn Sie die voraussichtliche Breite der Zeichenkette wissen wollen (um eine Reihe von Zeichenketten nebeneinander anzuordnen), verwenden Sie stattdessen horizontalAdvance().
Newline-Zeichen werden als normale Zeichen verarbeitet, nicht als Zeilenumbrüche.
Diese Funktion wurde in Qt 6.3 eingeführt.
Siehe auch horizontalAdvance(), height(), und boundingRect().
int QFontMetrics::underlinePos() const
Liefert den Abstand von der Grundlinie zu der Stelle, an der ein Unterstrich gezeichnet werden soll.
Siehe auch overlinePos(), strikeOutPos(), und lineWidth().
int QFontMetrics::xHeight() const
Gibt die Höhe 'x' der Schrift zurück. Dies entspricht oft, aber nicht immer, der Höhe des Zeichens "x".
bool QFontMetrics::operator!=(const QFontMetrics &other) const
Gibt true
zurück, wenn other nicht gleich diesem Objekt ist; andernfalls wird false
zurückgegeben.
Zwei Schriftmetriken werden als gleich angesehen, wenn sie aus demselben QFont erstellt wurden und die Zeichengeräte, für die sie erstellt wurden, als kompatibel angesehen werden.
Siehe auch operator==().
[noexcept]
QFontMetrics &QFontMetrics::operator=(QFontMetrics &&other)
Verschieben - weist other dieser QFontMetrics Instanz zu.
QFontMetrics &QFontMetrics::operator=(const QFontMetrics &fm)
Weist die Schriftmetrik fm zu.
bool QFontMetrics::operator==(const QFontMetrics &other) const
Gibt true
zurück, wenn other mit diesem Objekt übereinstimmt; andernfalls wird false
zurückgegeben.
Zwei Schriftmetriken werden als gleich angesehen, wenn sie aus demselben QFont erstellt wurden und die Zeichengeräte, für die sie erstellt wurden, als kompatibel angesehen werden.
Siehe auch operator!=().
© 2025 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.