QRawFont Class
La classe QRawFont permet d'accéder à une instance physique unique d'une police. Plus d'informations...
| En-tête : | #include <QRawFont> |
| 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
- QRawFont fait partie des classes implicitement partagées.
Types publics
| enum | AntialiasingType { PixelAntialiasing, SubPixelAntialiasing } |
| enum | LayoutFlag { SeparateAdvances, KernedAdvances, UseDesignMetrics } |
| flags | LayoutFlags |
Fonctions publiques
| QRawFont() | |
| QRawFont(const QByteArray &fontData, qreal pixelSize, QFont::HintingPreference hintingPreference = QFont::PreferDefaultHinting) | |
| QRawFont(const QString &fileName, qreal pixelSize, QFont::HintingPreference hintingPreference = QFont::PreferDefaultHinting) | |
| QRawFont(const QRawFont &other) | |
| ~QRawFont() | |
| QList<QPointF> | advancesForGlyphIndexes(const QList<quint32> &glyphIndexes, QRawFont::LayoutFlags layoutFlags) const |
| bool | advancesForGlyphIndexes(const quint32 *glyphIndexes, QPointF *advances, int numGlyphs, QRawFont::LayoutFlags layoutFlags) const |
| QList<QPointF> | advancesForGlyphIndexes(const QList<quint32> &glyphIndexes) const |
| bool | advancesForGlyphIndexes(const quint32 *glyphIndexes, QPointF *advances, int numGlyphs) const |
| QImage | alphaMapForGlyph(quint32 glyphIndex, QRawFont::AntialiasingType antialiasingType = SubPixelAntialiasing, const QTransform &transform = QTransform()) const |
| qreal | ascent() const |
| qreal | averageCharWidth() const |
| QRectF | boundingRect(quint32 glyphIndex) const |
| qreal | capHeight() const |
| qreal | descent() const |
| QString | familyName() const |
(since 6.7) QByteArray | fontTable(QFont::Tag tag) const |
| QByteArray | fontTable(const char *tag) const |
(since 6.11) quint32 | glyphCount() const |
| bool | glyphIndexesForChars(const QChar *chars, int numChars, quint32 *glyphIndexes, int *numGlyphs) const |
| QList<quint32> | glyphIndexesForString(const QString &text) const |
(since 6.11) QString | glyphName(quint32 glyphIndex) const |
| QFont::HintingPreference | hintingPreference() const |
| bool | isValid() const |
| qreal | leading() const |
| qreal | lineThickness() const |
| void | loadFromData(const QByteArray &fontData, qreal pixelSize, QFont::HintingPreference hintingPreference) |
| void | loadFromFile(const QString &fileName, qreal pixelSize, QFont::HintingPreference hintingPreference) |
| qreal | maxCharWidth() const |
| QPainterPath | pathForGlyph(quint32 glyphIndex) const |
| qreal | pixelSize() const |
| void | setPixelSize(qreal pixelSize) |
| QFont::Style | style() const |
| QString | styleName() const |
| QList<QFontDatabase::WritingSystem> | supportedWritingSystems() const |
| bool | supportsCharacter(QChar character) const |
| bool | supportsCharacter(uint ucs4) const |
| void | swap(QRawFont &other) |
| qreal | underlinePosition() const |
| qreal | unitsPerEm() const |
| int | weight() const |
| qreal | xHeight() const |
| bool | operator!=(const QRawFont &other) const |
| QRawFont & | operator=(const QRawFont &other) |
| bool | operator==(const QRawFont &other) const |
Membres publics statiques
| QRawFont | fromFont(const QFont &font, QFontDatabase::WritingSystem writingSystem = QFontDatabase::Any) |
Non-membres apparentés
| size_t | qHash(const QRawFont &key, size_t seed = 0) |
Description détaillée
Remarque : QRawFont est une classe de bas niveau. Dans la plupart des cas, QFont est une classe plus appropriée.
Le plus souvent, lors de la présentation d'un texte dans une interface utilisateur, les polices exactes utilisées pour rendre les caractères sont, dans une certaine mesure, inconnues. Cela peut être le cas pour plusieurs raisons : Par exemple, les polices physiques présentes sur le système cible peuvent être inattendues pour les développeurs, ou le texte peut contenir des styles, des tailles ou des systèmes d'écriture sélectionnés par l'utilisateur qui ne sont pas pris en charge par les polices choisies dans le code.
Par conséquent, la classe QFont de Qt représente réellement une requête pour les polices. Lorsque le texte est interprété, Qt fait de son mieux pour faire correspondre le texte à la requête, mais en fonction du support, différentes polices peuvent être utilisées en coulisses.
Pour la plupart des cas d'utilisation, c'est à la fois attendu et nécessaire, car cela minimise la possibilité que le texte de l'interface utilisateur ne soit pas affichable. Dans certains cas, cependant, un contrôle plus direct sur le processus peut s'avérer utile. C'est pour ces cas d'utilisation que la classe QRawFont existe.
Un objet QRawFont représente une instance physique unique d'une police donnée dans une taille de pixel donnée. En d'autres termes, dans le cas typique, il représente un ensemble de tables de polices TrueType ou OpenType et utilise une taille de pixel spécifiée par l'utilisateur pour convertir les métriques en unités logiques de pixel. Elle peut être utilisée en combinaison avec la classe QGlyphRun pour dessiner des index de glyphes spécifiques à des positions spécifiques, et dispose également d'accesseurs à certaines données pertinentes dans la police physique.
QRawFont ne prend en charge que les principales technologies de polices de caractères : GDI et DirectWrite sur les plateformes Windows, FreeType sur les plateformes Linux et CoreText sur macOS. Pour les autres polices, les API seront désactivées.
QRawFont peut être construit de plusieurs façons :
- Elle peut être construite en appelant QTextLayout::glyphs() ou QTextFragment::glyphs(). Les objets QGlyphs renvoyés contiendront des objets QRawFont qui représentent les polices réelles utilisées pour rendre chaque partie du texte.
- Il peut être construit en passant un objet QFont à QRawFont::fromFont(). La fonction renvoie un objet QRawFont représentant la police qui sera sélectionnée en réponse à la requête QFont et le système d'écriture sélectionné.
- Il peut être construit en passant un nom de fichier ou QByteArray directement au constructeur de QRawFont, ou en appelant loadFromFile() ou loadFromData(). Dans ce cas, la police ne sera pas enregistrée dans QFontDatabase, et elle ne sera pas disponible dans le cadre de la sélection régulière des polices.
QRawFont est considéré comme local au thread dans lequel il est construit (soit en utilisant un constructeur, soit en appelant loadFromData() ou loadFromFile()). La QRawFont ne peut pas être déplacée vers un autre thread, mais devra être recréée dans le thread en question.
Note : Pour la mise en cache des index de glyphes et des sélections de polices pour le texte statique afin d'éviter le remodelage et le relayage dans la boucle interne d'une application, un meilleur choix est la classe QStaticText, car elle optimise le coût de la mémoire du cache et offre également la possibilité de mettre en cache des moteurs de peinture spécifiques pour une accélération supplémentaire.
Documentation sur les types de membres
enum QRawFont::AntialiasingType
Cette énumération représente les différentes façons dont un glyphe peut être tramé dans la fonction alphaMapForGlyph().
| Constante | Valeur | Description |
|---|---|---|
QRawFont::PixelAntialiasing | 0 | Le glyphe est tramé en mesurant la couverture de la forme sur des pixels entiers. L'image renvoyée contient les valeurs alpha de chaque pixel en fonction de la couverture de la forme du glyphe. |
QRawFont::SubPixelAntialiasing | 1 | L'image retournée contient les valeurs alpha de chaque pixel en fonction de la couverture de la forme du glyphe. |
enum QRawFont::LayoutFlag
flags QRawFont::LayoutFlags
Cette énumération indique à la fonction advancesForGlyphIndexes() comment calculer les avances.
| Constante | Valeur | Description |
|---|---|---|
QRawFont::SeparateAdvances | 0 | Calcule l'avance pour chaque glyphe séparément. |
QRawFont::KernedAdvances | 1 | Applique le crénage entre les glyphes adjacents. Notez que le crénage basé sur l'OpenType GPOS n'est actuellement pas pris en charge. |
QRawFont::UseDesignMetrics | 2 | Utilise les métriques de conception au lieu des métriques hintées ajustées à la résolution de l'appareil de peinture. Peut être utilisé OU avec n'importe laquelle des options ci-dessus. |
Le type LayoutFlags est un typedef pour QFlags<LayoutFlag>. Il stocke une combinaison OU de valeurs LayoutFlag.
Documentation des fonctions membres
QRawFont::QRawFont()
Construit un QRawFont invalide.
QRawFont::QRawFont(const QByteArray &fontData, qreal pixelSize, QFont::HintingPreference hintingPreference = QFont::PreferDefaultHinting)
Construit un QRawFont représentant la police contenue dans la donnée fontData pour la taille (en pixels) donnée par pixelSize, et en utilisant la préférence d'indication spécifiée par hintingPreference.
Remarque : les données doivent contenir une police TrueType ou OpenType.
QRawFont::QRawFont(const QString &fileName, qreal pixelSize, QFont::HintingPreference hintingPreference = QFont::PreferDefaultHinting)
Construit un QRawFont représentant la police contenue dans le fichier référencé par fileName pour la taille (en pixels) donnée par pixelSize, et en utilisant la préférence d'indication spécifiée par hintingPreference.
Remarque : le fichier référencé doit contenir une police TrueType ou OpenType.
QRawFont::QRawFont(const QRawFont &other)
Crée une QRawFont qui est une copie de other.
[noexcept] QRawFont::~QRawFont()
Détruit le QRawFont
QList<QPointF> QRawFont::advancesForGlyphIndexes(const QList<quint32> &glyphIndexes, QRawFont::LayoutFlags layoutFlags) const
Renvoie les avances de QRawFont pour chacun des glyphIndexes en unités de pixels. Les avances donnent la distance entre la position d'un glyphe donné et l'endroit où le glyphe suivant doit être dessiné pour donner l'impression que les deux glyphes ne sont pas espacés. La manière dont les avances sont calculées est contrôlée par layoutFlags.
Remarque : lorsque KernedAdvances est demandé, cette fonction applique les règles de crénage de la table TrueType KERN, si celle-ci est disponible dans la police. Dans de nombreuses polices modernes, le crénage est géré par des règles OpenType ou des règles AAT, ce qui nécessite l'application d'une étape de mise en forme complète. Pour obtenir les résultats d'une mise en forme complète du texte, utilisez QTextLayout.
Voir également QTextLine::horizontalAdvance(), QFontMetricsF::horizontalAdvance() et QTextLayout::glyphRuns().
bool QRawFont::advancesForGlyphIndexes(const quint32 *glyphIndexes, QPointF *advances, int numGlyphs, QRawFont::LayoutFlags layoutFlags) const
Renvoie les avances de QRawFont pour chacun des glyphIndexes en unités de pixels. Les avances donnent la distance entre la position d'un glyphe donné et l'endroit où le glyphe suivant doit être dessiné pour donner l'impression que les deux glyphes ne sont pas espacés. Les index des glyphes sont donnés par le tableau glyphIndexes tandis que les résultats sont renvoyés par advances, les deux doivent avoir des éléments numGlyphs. La manière dont les avances sont calculées est contrôlée par layoutFlags.
Remarque : lorsque KernedAdvances est demandé, cette fonction applique les règles de crénage de la table TrueType KERN, si celle-ci est disponible dans la police. Dans de nombreuses polices modernes, le crénage est géré par des règles OpenType ou des règles AAT, ce qui nécessite l'application d'une étape de mise en forme complète. Pour obtenir les résultats d'une mise en forme complète du texte, utilisez QTextLayout.
Voir également QTextLine::horizontalAdvance(), QFontMetricsF::horizontalAdvance() et QTextLayout::glyphRuns().
QList<QPointF> QRawFont::advancesForGlyphIndexes(const QList<quint32> &glyphIndexes) const
Renvoie les avances de QRawFont pour chacun des glyphIndexes en unités de pixels. Les avances donnent la distance entre la position d'un glyphe donné et l'endroit où le glyphe suivant doit être dessiné pour donner l'impression que les deux glyphes ne sont pas espacés. L'avance de chaque glyphe est calculée séparément.
Il s'agit d'une fonction surchargée.
Voir aussi QTextLine::horizontalAdvance() et QFontMetricsF::horizontalAdvance().
bool QRawFont::advancesForGlyphIndexes(const quint32 *glyphIndexes, QPointF *advances, int numGlyphs) const
Renvoie les avances de QRawFont pour chacun des glyphIndexes en unités de pixels. Les avances donnent la distance entre la position d'un glyphe donné et l'endroit où le glyphe suivant doit être dessiné pour donner l'impression que les deux glyphes ne sont pas espacés. Les index des glyphes sont donnés par le tableau glyphIndexes tandis que les résultats sont renvoyés par advances, les deux doivent avoir des éléments numGlyphs. L'avance de chaque glyphe est calculée séparément
Il s'agit d'une fonction surchargée.
Voir aussi QTextLine::horizontalAdvance() et QFontMetricsF::horizontalAdvance().
QImage QRawFont::alphaMapForGlyph(quint32 glyphIndex, QRawFont::AntialiasingType antialiasingType = SubPixelAntialiasing, const QTransform &transform = QTransform()) const
Cette fonction renvoie une image matricielle du glyphe situé à l'adresse glyphIndex dans la police sous-jacente, en utilisant l'adresse transform spécifiée. Si le QRawFont n'est pas valide, cette fonction renverra un QImage invalide.
Si la police est une police de couleur, l'image résultante contiendra le glyphe rendu à la taille de pixel actuelle. Dans ce cas, l'adresse antialiasingType sera ignorée.
Sinon, si antialiasingType est défini sur QRawFont::SubPixelAntialiasing, l'image résultante sera en QImage::Format_RGB32 et les valeurs RVB de chaque pixel représenteront les opacités sous-pixel du pixel dans le tramage du glyphe. Sinon, l'image sera au format QImage::Format_Indexed8 et chaque pixel contiendra l'opacité du pixel dans le tramage.
Voir aussi pathForGlyph() et QPainter::drawGlyphRun().
qreal QRawFont::ascent() const
Renvoie l'ascension de ce site QRawFont en unités de pixels.
L'ascension d'une police est la distance entre la ligne de base et la position la plus élevée des caractères. Dans la pratique, certains concepteurs de polices enfreignent cette règle, par exemple lorsqu'ils placent plus d'un accent au sommet d'un caractère, ou pour tenir compte d'un caractère inhabituel dans une langue exotique, de sorte qu'il est possible (bien que rare) que cette valeur soit trop petite.
Voir également QFontMetricsF::ascent().
qreal QRawFont::averageCharWidth() const
Renvoie la largeur moyenne des caractères de ce site QRawFont en unités de pixels.
Voir aussi QFontMetricsF::averageCharWidth().
QRectF QRawFont::boundingRect(quint32 glyphIndex) const
Renvoie le plus petit rectangle contenant le glyphe avec l'adresse glyphIndex.
qreal QRawFont::capHeight() const
Renvoie la hauteur du chapeau de ce site QRawFont en unités de pixels.
La hauteur du chapeau d'une police est la hauteur d'une lettre majuscule au-dessus de la ligne de base. Il s'agit en particulier de la hauteur des lettres capitales plates - telles que H ou I - par opposition aux lettres rondes telles que O, ou aux lettres pointues telles que A, qui peuvent toutes deux présenter un dépassement.
Voir également QFontMetricsF::capHeight().
qreal QRawFont::descent() const
Renvoie la descente de ce site QRawFont en unités de pixels.
La descente est la distance entre la ligne de base et le point le plus bas auquel les caractères s'étendent. Dans la pratique, certains concepteurs de polices enfreignent cette règle, par exemple pour tenir compte d'un caractère inhabituel dans une langue exotique, de sorte qu'il est possible (bien que rare) que cette valeur soit trop petite.
Voir également QFontMetricsF::descent().
QString QRawFont::familyName() const
Renvoie le nom de famille de cette QRawFont.
[since 6.7] QByteArray QRawFont::fontTable(QFont::Tag tag) const
Récupère la table sfnt spécifiée par tag de la police physique sous-jacente, ou un tableau d'octets vide si aucune table de ce type n'a été trouvée. L'ordre des octets de la table de police retournée est Big Endian, comme le format sfnt le spécifie.
Cette fonction a été introduite dans Qt 6.7.
QByteArray QRawFont::fontTable(const char *tag) const
Le nom doit être une chaîne de quatre caractères.
Cette fonction surcharge fontTable(QFont::Tag).
[static] QRawFont QRawFont::fromFont(const QFont &font, QFontDatabase::WritingSystem writingSystem = QFontDatabase::Any)
Récupère la représentation physique sur la base d'une requête font. La police physique renvoyée est la police qui sera préférée par Qt XML pour afficher le texte dans l'adresse writingSystem.
Attention : Cette fonction est potentiellement coûteuse et ne doit pas être appelée dans un code sensible aux performances.
[since 6.11] quint32 QRawFont::glyphCount() const
Renvoie le nombre de glyphes dans cette QRawFont.
Cette fonction a été introduite dans Qt 6.11.
bool QRawFont::glyphIndexesForChars(const QChar *chars, int numChars, quint32 *glyphIndexes, int *numGlyphs) const
Convertit une chaîne de points unicode en index de glyphes en utilisant la table CMAP de la police sous-jacente. La fonction fonctionne comme glyphIndexesForString() sauf qu'elle prend un tableau (chars), les résultats seront renvoyés dans le tableau glyphIndexes et le nombre de glyphes sera défini dans numGlyphs. La taille du tableau glyphIndexes doit être au moins égale à numChars, si ce n'est pas suffisant, cette fonction renverra false, vous pouvez alors redimensionner glyphIndexes à partir de la taille renvoyée dans numGlyphs.
Voir aussi glyphIndexesForString(), advancesForGlyphIndexes(), QGlyphRun, QTextLayout::glyphRuns(), et QTextFragment::glyphRuns().
QList<quint32> QRawFont::glyphIndexesForString(const QString &text) const
Convertit la chaîne de points unicode donnée par text en index de glyphes en utilisant la table CMAP dans la police sous-jacente, et renvoie une liste contenant le résultat.
Notez que, dans les cas où il existe d'autres tables dans la police qui affectent la forme du texte, les index de glyphes renvoyés ne représenteront pas correctement le rendu du texte. Pour obtenir un texte correctement formé, vous pouvez utiliser QTextLayout pour disposer et former le texte, puis appeler QTextLayout::glyphs() pour obtenir l'ensemble des paires de listes d'index de glyphes et QRawFont.
Voir aussi advancesForGlyphIndexes(), glyphIndexesForChars(), QGlyphRun, QTextLayout::glyphRuns() et QTextFragment::glyphRuns().
[since 6.11] QString QRawFont::glyphName(quint32 glyphIndex) const
Renvoie le nom du glyphe donné glyphIndex.
Si le glyphe n'a pas de nom explicite dans la police, un nom est synthétisé sur la base de l'index du glyphe.
Cette fonction a été introduite dans Qt 6.11.
QFont::HintingPreference QRawFont::hintingPreference() const
Renvoie la préférence d'indication utilisée pour construire ce site QRawFont.
Voir aussi QFont::hintingPreference().
bool QRawFont::isValid() const
Renvoie true si l'adresse QRawFont est valide et false dans le cas contraire.
qreal QRawFont::leading() const
Renvoie l'en-tête de ce site QRawFont en unités de pixels.
Il s'agit de l'espacement naturel entre les lignes.
Voir aussi QFontMetricsF::leading().
qreal QRawFont::lineThickness() const
Renvoie l'épaisseur des lignes (soulignées, surlignées, etc.) qui accompagnent le texte dessiné dans cette police.
void QRawFont::loadFromData(const QByteArray &fontData, qreal pixelSize, QFont::HintingPreference hintingPreference)
Remplace la version actuelle de QRawFont par la police contenue dans la version fournie de fontData pour la taille (en pixels) donnée par pixelSize, et en utilisant la préférence d'indication spécifiée par hintingPreference.
Le site fontData doit contenir une police TrueType ou OpenType.
Voir aussi loadFromFile().
void QRawFont::loadFromFile(const QString &fileName, qreal pixelSize, QFont::HintingPreference hintingPreference)
Remplace le fichier actuel QRawFont par le contenu du fichier référencé par fileName pour la taille (en pixels) donnée par pixelSize, et en utilisant la préférence d'indication spécifiée par hintingPreference.
Le fichier doit faire référence à une police TrueType ou OpenType.
Voir aussi loadFromData().
qreal QRawFont::maxCharWidth() const
Renvoie la largeur du caractère le plus large de la police.
Voir aussi QFontMetricsF::maxWidth().
QPainterPath QRawFont::pathForGlyph(quint32 glyphIndex) const
Cette fonction renvoie la forme du glyphe à un glyphIndex donné dans la police sous-jacente si le QRawFont est valide. Sinon, elle renvoie un QPainterPath vide.
Le glyphe retourné sera toujours non hachuré.
Voir aussi alphaMapForGlyph() et QPainterPath::addText().
qreal QRawFont::pixelSize() const
Renvoie la taille de pixel définie pour cette QRawFont. La taille des pixels affecte la façon dont les glyphes sont tramés, la taille des glyphes renvoyés par pathForGlyph(), et est utilisée pour convertir les métriques internes des unités de conception en unités de pixels logiques.
Voir également setPixelSize().
void QRawFont::setPixelSize(qreal pixelSize)
Définit la taille en pixels avec laquelle cette police doit être rendue à pixelSize.
Voir aussi pixelSize().
QFont::Style QRawFont::style() const
Renvoie le style de cette page QRawFont.
Voir aussi QFont::style().
QString QRawFont::styleName() const
Renvoie le nom du style de cette page QRawFont.
Voir aussi QFont::styleName().
QList<QFontDatabase::WritingSystem> QRawFont::supportedWritingSystems() const
Renvoie une liste des systèmes d'écriture pris en charge par la police en fonction des informations fournies par le concepteur dans le fichier de police. Veuillez noter que cela ne garantit pas la prise en charge d'un point unicode spécifique dans la police. Vous pouvez utiliser supportsCharacter() pour vérifier la prise en charge d'un seul caractère spécifique.
Remarque : la liste est déterminée sur la base des plages d'unicode et de codepage définies dans la table OS/2 de la police et nécessite la présence d'une telle table dans le fichier de police sous-jacent.
Voir également supportsCharacter().
bool QRawFont::supportsCharacter(QChar character) const
Renvoie true si la police possède un glyphe qui correspond à l'élément donné character.
Voir aussi supportedWritingSystems().
bool QRawFont::supportsCharacter(uint ucs4) const
Renvoie true si la police possède un glyphe correspondant au caractère encodé UCS-4 ucs4.
Il s'agit d'une fonction surchargée.
Voir aussi supportedWritingSystems().
[noexcept] void QRawFont::swap(QRawFont &other)
Remplace cette police brute par other. Cette opération est très rapide et n'échoue jamais.
qreal QRawFont::underlinePosition() const
Renvoie la position par rapport à la ligne de base pour le dessin des soulignements sous le texte rendu avec cette police.
qreal QRawFont::unitsPerEm() const
Renvoie le nombre d'unités de dessin définissant la largeur et la hauteur du carré em pour ce site QRawFont. Cette valeur est utilisée avec la taille des pixels lors de la conversion des métriques de dessin en unités de pixels, étant donné que les métriques internes sont spécifiées en unités de dessin et que la taille des pixels donne la taille de 1 em en pixels.
Voir également pixelSize() et setPixelSize().
int QRawFont::weight() const
Renvoie le poids de cette QRawFont.
Voir aussi QFont::weight().
qreal QRawFont::xHeight() const
Renvoie la hauteur x de cette page QRawFont en unités de pixels.
Il s'agit souvent, mais pas toujours, de la hauteur du caractère "x".
Voir également QFontMetricsF::xHeight().
bool QRawFont::operator!=(const QRawFont &other) const
Renvoie true si QRawFont n'est pas égal à other. Sinon, renvoie false.
QRawFont &QRawFont::operator=(const QRawFont &other)
Attribue other à ce QRawFont.
bool QRawFont::operator==(const QRawFont &other) const
Renvoie true si QRawFont est égal à other. Sinon, il renvoie false.
Non-membres apparentés
[noexcept] size_t qHash(const QRawFont &key, size_t seed = 0)
Renvoie la valeur de hachage pour key, en utilisant seed comme base de calcul.
© 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.