QFontMetrics Class
La classe QFontMetrics fournit des informations sur les métriques des polices. En savoir plus...
| En-tête : | #include <QFontMetrics> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake : | QT += gui |
- Liste de tous les membres, y compris les membres hérités
- QFontMetrics fait partie des classes de dessin et des classes implicitement partagées.
Remarque : toutes les fonctions de cette classe sont réentrantes.
Fonctions publiques
| QFontMetrics(const QFont &font) | |
| QFontMetrics(const QFont &font, const QPaintDevice *paintdevice) | |
| QFontMetrics(const QFontMetrics &fm) | |
| QFontMetrics(QFontMetrics &&) | |
| ~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 |
Description détaillée
Les fonctions de QFontMetrics calculent la taille des caractères et des chaînes de caractères pour une police donnée. Cette classe est une version utilisant des entiers de la classe « QFontMetricsF » et arrondit tous les nombres à l’entier le plus proche. Cela signifie que ses résultats seront imprécis pour toute police comportant des métriques fractionnaires. Dans la plupart des cas, il est préférable d’utiliser plutôt la classe « QFontMetricsF ».
Il existe trois façons de créer un objet QFontMetrics :
- Appeler le constructeur de `QFontMetrics` avec un ` QFont ` crée un objet de métriques de police pour une police compatible avec l’affichage à l’écran, c’est-à-dire que la police ne peut pas être une police d’imprimante. Si la police est modifiée ultérieurement, l’objet de métriques de police n’ est pas mis à jour.
(Remarque : si vous utilisez une police d’imprimante, les valeurs renvoyées peuvent être inexactes. Les polices d’imprimante n’étant pas toujours accessibles, la police d’écran la plus proche est utilisée si une police d’imprimante est fournie.)
- QWidget::fontMetrics() renvoie les métriques de police de la police d’un widget. Cela équivaut à `QFontMetrics(widget->font())`. Si la police du widget est modifiée ultérieurement, l’objet de métriques de police n’ est pas mis à jour.
- QPainter::fontMetrics() renvoie les métriques de police de la police actuelle d’un peintre. Si la police du peintre est modifiée par la suite, l’objet de métriques de police n’ est pas mis à jour.
Une fois créé, l’objet fournit des fonctions permettant d’accéder aux métriques individuelles de la police, à ses caractères et aux chaînes de caractères affichées dans cette police.
Il existe plusieurs fonctions qui opèrent sur la police : ascent(), descent(), height(), leading() et lineSpacing() renvoient les propriétés de taille de base de la police. Les fonctions underlinePos(), overlinePos(), strikeOutPos() et lineWidth() renvoient les propriétés de la ligne qui souligne, surligne ou barre les caractères. Ces fonctions sont toutes rapides.
Il existe également certaines fonctions qui opèrent sur l’ensemble des glyphes de la police : minLeftBearing(), minRightBearing() et maxWidth(). Celles-ci sont nécessairement lentes, et nous recommandons de les éviter si possible.
Pour chaque caractère, vous pouvez obtenir ses valeurs horizontalAdvance(), leftBearing() et rightBearing(), et vérifier s’il figure dans la police à l’aide de inFont(). Vous pouvez également traiter le caractère comme une chaîne de caractères et lui appliquer les fonctions de traitement de chaînes.
Parmi les fonctions de chaîne, on trouve horizontalAdvance(), qui renvoie la largeur d'avancement d'une chaîne en pixels (ou en points, pour une imprimante), boundingRect(), qui renvoie un rectangle suffisamment grand pour contenir la chaîne affichée, et size(), qui renvoie la taille de ce rectangle.
QFontMetrics dispose de deux fonctions distinctes pour calculer les limites d’une chaîne, chacune comportant plusieurs surcharges : ` boundingRect()` et ` tightBoundingRect()`. Si un rectangle de délimitation précis est nécessaire, il convient de privilégier ` tightBoundingRect()`. Cette fonction mesure chaque glyphe individuellement afin de renvoyer un rectangle de délimitation qui épouse parfaitement le texte affiché. Selon la plateforme, la fonction boundingRect() peut renvoyer des limites approximatives, mais nécessite moins de calculs.
Remarque : la largeur d'avance peut être différente de la largeur du texte effectivement affiché. Elle correspond à la distance entre l'origine de la chaîne et l'endroit où vous ajouteriez des caractères supplémentaires. Comme le texte peut présenter un débordement (dans le cas d'une police en italique, par exemple) ou un espacement entre les caractères, la largeur d'avance peut être inférieure ou supérieure à celle du texte tel qu'il est effectivement affiché. C'est ce qu'on appelle le débordement à droite du texte.
Exemple :
QFont font("times", 24);
QFontMetrics fm(font);
int pixelsWide = fm.horizontalAdvance("What's the advance width of this text?");
int pixelsHigh = fm.height();Voir également QFont, QFontInfo et QFontDatabase.
Documentation des fonctions membres
[explicit] QFontMetrics::QFontMetrics(const QFont &font)
Crée un objet de métriques de police pour font.
Les métriques de police seront compatibles avec le périphérique de dessin utilisé pour créer font.
L'objet de métriques de police contient les informations relatives à la police transmise au constructeur au moment de sa création, et n'est pas mis à jour si les attributs de la police sont modifiés ultérieurement.
Utilisez QFontMetrics(const QFont &, QPaintDevice *) pour obtenir les métriques de police compatibles avec un périphérique de dessin donné.
QFontMetrics::QFontMetrics(const QFont &font, const QPaintDevice *paintdevice)
Crée un objet de métriques de police pour font et paintdevice.
Les métriques de police seront compatibles avec le périphérique de dessin (paintdevice) passé en paramètre. Si l'paintdevice est nullptr, les métriques seront compatibles avec l'affichage à l'écran, c'est-à-dire les métriques que vous obtenez si vous utilisez la police pour dessiner du texte sur un widgets ou un pixmaps, et non sur un QPicture ou un QPrinter.
L’objet de métriques de police contient les informations relatives à la police transmise au constructeur au moment de sa création, et n’est pas mis à jour si les attributs de la police sont modifiés ultérieurement.
QFontMetrics::QFontMetrics(const QFontMetrics &fm)
Crée une copie de fm.
[constexpr noexcept default] QFontMetrics::QFontMetrics(QFontMetrics &&)
Crée par « move » une instance de ` QFontMetrics`.
[noexcept] QFontMetrics::~QFontMetrics()
Détruit l'objet de métriques de police et libère toutes les ressources allouées.
int QFontMetrics::ascent() const
Renvoie la hauteur ascendante de la police.
L'ascendance d'une police correspond à la distance entre la ligne de base et la position la plus haute atteinte par les caractères. Dans la pratique, certains créateurs de polices s'écartent de cette règle, par exemple lorsqu'ils placent plusieurs accents au-dessus d'un caractère, ou pour s'adapter à un caractère particulier ; il est donc possible (bien que rare) que cette valeur soit trop petite.
Voir également descent().
int QFontMetrics::averageCharWidth() const
Renvoie la largeur moyenne des glyphes de la police.
QRect QFontMetrics::boundingRect(QChar ch) const
Renvoie le rectangle recouvert d’encre si l’ ch e des caractères devait être dessinée à l’origine du système de coordonnées.
Notez que le rectangle englobant peut s'étendre à gauche de (0, 0) (par exemple, pour les polices en italique) et que le texte affiché peut couvrir tous les pixels du rectangle englobant. Pour un caractère d'espace, le rectangle sera généralement vide.
Notez que le rectangle s'étend généralement à la fois au-dessus et en dessous de la ligne de base.
Avertissement : la largeur du rectangle renvoyé ne correspond pas à la largeur d’avancement du caractère. Utilisez plutôt `boundingRect(const QString &)` ou ` horizontalAdvance()`).
Voir également horizontalAdvance().
QRect QFontMetrics::boundingRect(const QString &text) const
Renvoie le rectangle englobant des caractères de la chaîne spécifiée par ` text`. Le rectangle englobant couvre toujours au moins l'ensemble des pixels que le texte couvrirait s'il était tracé en (0, 0).
Notez que le rectangle englobant peut s'étendre à gauche de (0, 0), par exemple pour les polices en italique, et que la largeur du rectangle renvoyé peut être différente de celle renvoyée par la méthode horizontalAdvance().
Si vous souhaitez connaître la largeur d’avance de la chaîne (pour disposer plusieurs chaînes les unes à côté des autres), utilisez plutôt la méthode ` horizontalAdvance()`.
Les caractères de nouvelle ligne sont traités comme des caractères normaux, et non comme des sauts de ligne.
La hauteur du rectangle de délimitation est au moins égale à la valeur renvoyée par height().
Voir également horizontalAdvance(), height(), QPainter::boundingRect() et tightBoundingRect().
[since 6.3] QRect QFontMetrics::boundingRect(const QString &text, const QTextOption &option) const
Renvoie le rectangle englobant des caractères de la chaîne spécifiée par ` text `, mise en page à l'aide de ` option`. Le rectangle englobant couvre toujours au moins l'ensemble des pixels que le texte couvrirait s'il était tracé en (0, 0).
Notez que le rectangle englobant peut s'étendre à gauche de (0, 0), par exemple pour les polices en italique, et que la largeur du rectangle renvoyé peut être différente de celle renvoyée par la méthode horizontalAdvance().
Si vous souhaitez connaître la largeur d’avance de la chaîne (pour disposer plusieurs chaînes les unes à côté des autres), utilisez plutôt la méthode horizontalAdvance().
Les caractères de nouvelle ligne sont traités comme des caractères normaux, et non comme des sauts de ligne.
La hauteur du rectangle englobant est au moins égale à la valeur renvoyée par height().
Cette fonction a été introduite dans Qt 6.3.
Voir également horizontalAdvance(), height(), QPainter::boundingRect() et tightBoundingRect().
QRect QFontMetrics::boundingRect(const QRect &rect, int flags, const QString &text, int tabStops = 0, int *tabArray = nullptr) const
Renvoie le rectangle englobant des caractères de la chaîne spécifiée par ` text`, c'est-à-dire l'ensemble des pixels que le texte couvrirait s'il était tracé en (0, 0). Le tracé, et donc le rectangle englobant, est limité au rectangle ` rect`.
L’argument ` flags ` correspond à la somme logique (OU) des indicateurs suivants :
- Qt::AlignLeft s’aligne sur le bord gauche, sauf pour l’arabe et l’hébreu où il s’aligne sur la droite.
- Qt::AlignRight aligne sur le bord droit, sauf pour l’arabe et l’hébreu où il s’aligne à gauche.
- Qt::AlignJustify produit un texte justifié.
- Qt::AlignHCenter Aligne le texte au centre horizontalement.
- Qt::AlignTop aligne sur la marge supérieure.
- Qt::AlignBottom s'aligne sur la marge inférieure.
- Qt::AlignVCenter aligne verticalement au centre
- Qt::AlignCenter (==
Qt::AlignHCenter | Qt::AlignVCenter) - Qt::TextSingleLine ignore les caractères de saut de ligne dans le texte.
- Qt::TextExpandTabs développe les tabulations (voir ci-dessous)
- Qt::TextShowMnemonic interprète « &x » comme x; c'est-à-dire souligné.
- Qt::TextWordWrap coupe le texte pour l'adapter au rectangle.
Qt::Horizontal L'alignement par défaut est Qt::AlignLeft et l'alignement vertical par défaut est Qt::AlignTop.
Si plusieurs indicateurs d’alignement horizontal ou plusieurs indicateurs d’alignement vertical sont activés, l’alignement obtenu n’est pas défini.
Si l’alignement horizontal est défini sur « Qt::TextExpandTabs » et l’alignement vertical sur « flags », alors : si tabArray est non nul, il spécifie une séquence terminée par un 0 de positions de pixels pour les tabulations ; sinon, si tabStops est non nul, il est utilisé comme espacement entre les tabulations (en pixels).
Notez que le rectangle de délimitation peut s'étendre à gauche de (0, 0), par exemple pour les polices en italique, et que le texte affiché peut couvrir tous les pixels du rectangle de délimitation.
Les caractères de nouvelle ligne sont traités comme des sauts de ligne.
Malgré les différences de hauteur réelle des caractères, les hauteurs des rectangles de délimitation de « Yes » et « yes » sont identiques.
Il s’agit d’une fonction surchargée.
Voir également horizontalAdvance(), QPainter::boundingRect() et 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
Renvoie le rectangle englobant de l'text donné, situé à l'intérieur du rectangle défini par les coordonnées x et y, width et height.
Si Qt::TextExpandTabs est défini dans flags et que tabArray est non nul, il spécifie une séquence de positions de pixels terminée par 0 pour les tabulations ; sinon, si tabStops est non nul, il est utilisé comme espacement entre les tabulations (en pixels).
Il s'agit d'une fonction surchargée.
int QFontMetrics::capHeight() const
Renvoie la hauteur des majuscules de la police.
La hauteur des majuscules d'une police correspond à la hauteur d'une lettre majuscule au-dessus de la ligne de base. Il s'agit plus précisément de la hauteur des lettres majuscules plates, telles que le H ou le I, par opposition aux lettres arrondies comme le O ou aux lettres pointues comme le A, qui peuvent toutes deux présenter un dépassement.
Voir également ascent().
int QFontMetrics::descent() const
Renvoie la descente de la police.
La descente correspond à la distance entre la ligne de base et le point le plus bas atteint par les caractères. Dans la pratique, certains créateurs de polices s'écartent de cette règle, par exemple pour s'adapter à un caractère particulier ; il est donc possible (bien que rare) que cette valeur soit trop petite.
Voir aussi ascent().
QString QFontMetrics::elidedText(const QString &text, Qt::TextElideMode mode, int width, int flags = 0) const
Si la chaîne « text » est plus longue que « width », la fonction renvoie une version tronquée de la chaîne (c'est-à-dire une chaîne contenant « ... »). Sinon, elle renvoie la chaîne d'origine.
Le paramètre mode spécifie si le texte est tronqué à gauche (par exemple, « ...tech »), au milieu (par exemple, « Tr...ch ») ou à droite (par exemple, « Trol... »).
La valeur de ` width ` est exprimée en pixels, et non en caractères.
L’argument ` flags ` est facultatif et ne prend actuellement en charge que la valeur ` Qt::TextShowMnemonic `.
Le signe d’élision suit l’ layoutdirection. Par exemple, il se trouvera à droite du texte pour les mises en page de droite à gauche si l’ mode est Qt::ElideLeft, et à gauche du texte si l’ mode est Qt::ElideRight.
qreal QFontMetrics::fontDpi() const
Renvoie la résolution (DPI) de la police.
int QFontMetrics::height() const
Renvoie la hauteur de la police.
Cette valeur est toujours égale à ascent() +descent().
Voir également leading() et lineSpacing().
[since 6.3] int QFontMetrics::horizontalAdvance(const QString &text, const QTextOption &option) const
Renvoie l'avance horizontale, en pixels, d'une chaîne « text » mise en page à l'aide de la fonction « option ».
Cet espacement correspond à la distance nécessaire pour tracer le caractère suivant après text.
Cette fonction a été introduite dans Qt 6.3.
Voir aussi ` boundingRect()`.
int QFontMetrics::horizontalAdvance(const QString &text, int len = -1) const
Renvoie l'avancée horizontale, en pixels, des premiers caractères de len figurant dans text. Si len est négatif (valeur par défaut), la chaîne entière est utilisée. La longueur totale de text est prise en compte, même si len est nettement plus court.
Il s'agit de la distance appropriée pour tracer un caractère suivant après text.
Voir également boundingRect().
int QFontMetrics::horizontalAdvance(QChar ch) const

Renvoie l'avance horizontale de l'ch de caractère en pixels. Il s'agit d'une distance appropriée pour dessiner un caractère suivant après ` ch`.
Certaines de ces mesures sont décrites dans l’image. Les rectangles sombres centraux correspondent à la valeur logique de `horizontalAdvance()` de chaque caractère. Les rectangles clairs extérieurs correspondent aux valeurs de ` leftBearing()` et ` rightBearing()` de chaque caractère. Notez que les indices de la lettre « f » dans cette police particulière sont tous deux négatifs, tandis que ceux de la lettre « o » sont tous deux positifs.
Avertissement : cette fonction produira des résultats erronés pour les caractères arabes ou les marques non espacées situées au milieu d’une chaîne, car la mise en forme des glyphes et le positionnement des marques qui ont lieu lors du traitement des chaînes ne peuvent pas être pris en compte. Lors de la mise en œuvre d’un contrôle de texte interactif, utilisez plutôt QTextLayout.
Il s'agit d'une fonction surchargée.
Voir aussi boundingRect().
bool QFontMetrics::inFont(QChar ch) const
Renvoie « true » si le caractère ch est un caractère valide dans la police ; sinon, renvoie « false ».
bool QFontMetrics::inFontUcs4(uint ucs4) const
Renvoie « true » si le caractère ucs4, encodé en UCS-4/UTF-32, est un caractère valide dans la police ; sinon, renvoie « false ».
int QFontMetrics::leading() const
Renvoie l'interligne de la police.
Il s'agit de l'espacement naturel entre les lignes.
Voir également height() et lineSpacing().
int QFontMetrics::leftBearing(QChar ch) const
Renvoie l'angle de gauche du caractère ch dans la police.
Le décalage vers la gauche correspond à la distance vers la droite entre le pixel le plus à gauche du caractère et l'origine logique de ce dernier. Cette valeur est négative si les pixels du caractère s'étendent vers la gauche de l'origine logique.
Voir ` horizontalAdvance()` pour une description graphique de cette métrique.
Voir également ` rightBearing()`, ` minLeftBearing()` et ` horizontalAdvance()`.
int QFontMetrics::lineSpacing() const
Renvoie la distance entre deux lignes de base.
Cette valeur est toujours égale à leading() +height().
Voir également height() et leading().
int QFontMetrics::lineWidth() const
Renvoie la largeur des lignes de soulignement et de barré, ajustée en fonction de la taille en points de la police.
Voir également underlinePos(), overlinePos() et strikeOutPos().
int QFontMetrics::maxWidth() const
Renvoie la largeur du caractère le plus large de la police.
int QFontMetrics::minLeftBearing() const
Renvoie le relèvement minimum à gauche de la police.
Il s'agit de la plus petite valeur d'leftBearing e (char) de tous les caractères de la police.
Notez que cette fonction peut être très lente si la police est volumineuse.
Voir également minRightBearing() et leftBearing().
int QFontMetrics::minRightBearing() const
Renvoie l'angle minimal de déviation vers la droite de la police.
Il s'agit de la plus petite valeur « rightBearing » (char) parmi tous les caractères de la police.
Notez que cette fonction peut être très lente si la police est volumineuse.
Voir également minLeftBearing() et rightBearing().
int QFontMetrics::overlinePos() const
Renvoie la distance entre la ligne de base et l'endroit où une barre supérieure doit être tracée.
Voir également underlinePos(), strikeOutPos() et lineWidth().
int QFontMetrics::rightBearing(QChar ch) const
Renvoie le décalage vers la droite du caractère ch dans la police.
L'alignement à droite correspond à la distance vers la gauche entre le pixel le plus à droite du caractère et l'origine logique du caractère suivant. Cette valeur est négative si les pixels du caractère s'étendent au-delà de l'horizontalAdvance() du caractère.
Voir ` horizontalAdvance()` pour une description graphique de cette métrique.
Voir également leftBearing(), minRightBearing() et horizontalAdvance().
QSize QFontMetrics::size(int flags, const QString &text, int tabStops = 0, int *tabArray = nullptr) const
Renvoie la taille en pixels de text.
L'argument flags correspond au OU binaire des indicateurs suivants :
- Qt::TextSingleLine ignore les caractères de saut de ligne.
- Qt::TextExpandTabs développe les tabulations (voir ci-dessous)
- Qt::TextShowMnemonic interprète « &x » comme x; c'est-à-dire souligné.
- Qt::TextWordWrap coupe le texte pour l'adapter au rectangle.
Si l'Qt::TextExpandTabs est défini dans ` flags`, alors : si ` tabArray ` est non nul, il spécifie une séquence terminée par un 0 de positions de pixels pour les tabulations ; sinon, si ` tabStops ` est non nul, il est utilisé comme espacement des tabulations (en pixels).
Les caractères de nouvelle ligne sont traités comme des sauts de ligne.
Malgré les différences de hauteur réelle des caractères, les hauteurs des rectangles de délimitation de « Yes » et « yes » sont identiques.
Voir également boundingRect().
int QFontMetrics::strikeOutPos() const
Renvoie la distance entre la ligne de base et l'endroit où la ligne de strikeout doit être tracée.
Voir également underlinePos(), overlinePos() et lineWidth().
[noexcept] void QFontMetrics::swap(QFontMetrics &other)
Remplace cette instance de métriques de police par other. Cette opération est très rapide et ne rate jamais.
QRect QFontMetrics::tightBoundingRect(const QString &text) const
Renvoie un rectangle de délimitation serré autour des caractères de la chaîne spécifiée par ` text`. Le rectangle de délimitation couvre toujours au moins l'ensemble des pixels que le texte couvrirait s'il était tracé en (0, 0).
Notez que le rectangle de délimitation peut s’étendre à gauche de (0, 0), par exemple pour les polices en italique, et que la largeur du rectangle renvoyé peut être différente de celle renvoyée par la méthode horizontalAdvance().
Si vous souhaitez connaître la largeur d’avance de la chaîne (pour disposer plusieurs chaînes les unes à côté des autres), utilisez plutôt la méthode horizontalAdvance().
Les caractères de nouvelle ligne sont traités comme des caractères normaux, et non comme des sauts de ligne.
Voir également horizontalAdvance(), height() et boundingRect().
[since 6.3] QRect QFontMetrics::tightBoundingRect(const QString &text, const QTextOption &option) const
Renvoie un rectangle de délimitation serré autour des caractères de la chaîne spécifiée par ` text `, mise en page à l'aide de ` option`. Le rectangle de délimitation couvre toujours au moins l'ensemble des pixels que le texte couvrirait s'il était tracé en (0, 0).
Notez que le rectangle de délimitation peut s’étendre à gauche de (0, 0), par exemple pour les polices en italique, et que la largeur du rectangle renvoyé peut être différente de celle renvoyée par la méthode horizontalAdvance().
Si vous souhaitez connaître la largeur d’avance de la chaîne (pour disposer plusieurs chaînes les unes à côté des autres), utilisez plutôt la méthode horizontalAdvance().
Les caractères de nouvelle ligne sont traités comme des caractères normaux, et non comme des sauts de ligne.
Cette fonction a été introduite dans Qt 6.3.
Voir également horizontalAdvance(), height() et boundingRect().
int QFontMetrics::underlinePos() const
Renvoie la distance entre la ligne de base et l'endroit où un trait de soulignement doit être tracé.
Voir également overlinePos(), strikeOutPos() et lineWidth().
int QFontMetrics::xHeight() const
Renvoie la hauteur « x » de la police. Celle-ci correspond souvent, mais pas toujours, à la hauteur du caractère « x ».
bool QFontMetrics::operator!=(const QFontMetrics &other) const
Renvoie ` true ` si ` other ` n'est pas égal à cet objet ; sinon, renvoie ` false`.
Deux métriques de police sont considérées comme égales si elles ont été construites à partir de la même QFont et si les périphériques de dessin pour lesquels elles ont été construites sont considérés comme compatibles.
Voir aussi operator==().
[noexcept] QFontMetrics &QFontMetrics::operator=(QFontMetrics &&other)
Cette opération attribue l'other à cette instance QFontMetrics.
QFontMetrics &QFontMetrics::operator=(const QFontMetrics &fm)
Attribue les métriques de police suivantes : fm.
bool QFontMetrics::operator==(const QFontMetrics &other) const
Renvoie ` true ` si ` other ` est égal à cet objet ; sinon, renvoie ` false`.
Deux métriques de police sont considérées comme égales si elles ont été construites à partir de la même QFont et si les périphériques de dessin pour lesquels elles ont été construites sont considérés comme compatibles.
Voir également operator!=().
© 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.