PathText QML Type

Definiert eine Zeichenkette in einer bestimmten Schriftart. Mehr...

Import Statement: import QtQuick
Since: QtQuick 2.15

Eigenschaften

Detaillierte Beschreibung

Dieses Element definiert die Form einer bestimmten Zeichenkette in einer bestimmten Schriftart. Die Grundlinie des Textes wird in die x- und y-Koordinaten übersetzt, und die Umrisse der Schriftart werden entsprechend zum Pfad hinzugefügt.

PathText {
    x: 0
    y: font.pixelSize
    font.family: "Arial"
    font.pixelSize: 100
    text: "Foobar"
}

Siehe auch Path, QPainterPath::setFillRule, PathPolyline, PathQuad, PathCubic, PathArc, PathAngleArc, PathCurve, PathSvg, und PathMove.

Eigenschaft Dokumentation

font.bold : bool

Legt fest, ob die Schriftstärke fett ist.


font.capitalization : enumeration

Legt die Großschreibung für den Text fest.

KonstanteBeschreibung
Font.MixedCasekeine Änderung der Großschreibung wird angewendet
Font.AllUppercaseändert den Text so, dass er ganz in Großbuchstaben dargestellt wird
Font.AllLowercaseändert den Text so, dass er ausschließlich in Kleinbuchstaben wiedergegeben wird
Font.SmallCapsÄndert den Text so, dass er in Kapitälchen dargestellt wird
Font.CapitalizeÄndert den Text so, dass das erste Zeichen jedes Worts ein Großbuchstabe ist
PathText { text: "Hello"; font.capitalization: Font.AllLowercase }

font.contextFontMerging : bool [since 6.8]

Wenn die ausgewählte Schriftart ein bestimmtes Zeichen nicht enthält, wählt Qt automatisch eine ähnlich aussehende Ersatzschriftart, die das Zeichen enthält. Standardmäßig geschieht dies auf einer Zeichen-für-Zeichen-Basis.

Das bedeutet, dass in einigen ungewöhnlichen Fällen viele verschiedene Schriftarten verwendet werden können, um einen Text zu repräsentieren, auch wenn er im selben Skript steht. Wenn Sie contextFontMerging auf true setzen, wird stattdessen versucht, die Ersatzschriftart zu finden, die der größten Teilmenge der Eingabezeichenkette entspricht. Dies ist bei Zeichenketten, in denen Glyphen fehlen, aufwendiger, kann aber zu konsistenteren Ergebnissen führen. Standardmäßig ist contextFontMerging false .

Diese Eigenschaft wurde in Qt 6.8 eingeführt.

Siehe auch QFont::StyleStrategy.


font.family : string

Setzt den Familiennamen der Schriftart.

Der Familienname unterscheidet nicht zwischen Groß- und Kleinschreibung und kann optional einen Namen des Herstellers enthalten, z.B. "Helvetica [Cronyx]". Wenn die Familie von mehr als einer Gießerei verfügbar ist und die Gießerei nicht angegeben wird, wird eine beliebige Gießerei ausgewählt. Wenn die Familie nicht verfügbar ist, wird eine Familie mit Hilfe des Algorithmus zum Abgleich von Schriften festgelegt.


font.features : object [since 6.6]

Wendet ganzzahlige Werte auf bestimmte OpenType-Merkmale an, wenn der Text auf der Grundlage des Inhalts in features geformt wird. Dies bietet einen erweiterten Zugriff auf den Schriftformungsprozess und kann zur Unterstützung von Schriftmerkmalen verwendet werden, die sonst nicht von der API abgedeckt werden.

Die Schriftmerkmale werden durch eine Zuordnung von Tags mit vier Buchstaben zu Ganzzahlwerten dargestellt. Dieser Integer-Wert, der zusammen mit dem Tag übergeben wird, stellt in den meisten Fällen einen booleschen Wert dar: Ein Nullwert bedeutet, dass die Funktion deaktiviert ist, und ein Wert ungleich Null bedeutet, dass sie aktiviert ist. Bei bestimmten Schriftfunktionen kann er jedoch auch anders interpretiert werden. Bei der Anwendung auf das Merkmal salt ist der Wert beispielsweise ein Index, der die zu verwendende stilistische Alternative angibt.

Das Schriftmerkmal frac konvertiert zum Beispiel diagonale Brüche, die durch einen Schrägstrich getrennt sind (wie 1/2), in eine andere Darstellung. In der Regel wird dabei der gesamte Bruch in eine einzelne Zeichenbreite umgewandelt (z. B. ½).

Wenn eine Schriftart das Merkmal frac unterstützt, kann es im Shaper wie im folgenden Code aktiviert werden:

Text {
    text: "One divided by two is 1/2"
    font.family: "MyFractionFont"
    font.features: { "frac": 1 }
}

Mehrere Merkmale können in derselben Zuordnung mit Werten belegt werden. Wenn Sie zum Beispiel auch das Kerning für die Schriftart deaktivieren möchten, können Sie dies wie folgt explizit deaktivieren:

Text {
    text: "One divided by two is 1/2"
    font.family: "MyFractionFont"
    font.features: { "frac": 1, "kern": 0 }
}

Sie können die Schrifteigenschaften auch in einem Objekt sammeln:

Text {
    text: "One divided by two is 1/2"
    font: {
        family: "MyFractionFont"
        features: { "frac": 1, "kern": 0 }
    }
}

Hinweis: Standardmäßig aktiviert und deaktiviert Qt bestimmte Schriftfunktionen basierend auf anderen Schrifteigenschaften. Insbesondere wird die Funktion kern in Abhängigkeit von der Eigenschaft font.kerning des QFont aktiviert/deaktiviert. Darüber hinaus werden alle Ligaturfunktionen (liga, clig, dlig, hlig) deaktiviert, wenn ein font.letterSpacing gesetzt ist, allerdings nur für Schriftsysteme, bei denen die Verwendung von Ligaturen kosmetisch ist. Für Schriftsysteme, in denen Ligaturen erforderlich sind, bleiben die Merkmale in ihrem Standardzustand. Die Werte, die mit font.features gesetzt werden, setzen das Standardverhalten außer Kraft. Wenn zum Beispiel "kern" auf 1 gesetzt ist, wird das Kerning immer aktiviert, unabhängig davon, ob die Eigenschaft font.kerning auf false gesetzt ist. Wenn sie auf 0 gesetzt ist, wird sie immer deaktiviert sein.

Diese Eigenschaft wurde in Qt 6.6 eingeführt.

Siehe auch QFont::setFeature().


font.italic : bool

Legt fest, ob die Schrift einen kursiven Stil hat.


font.kerning : bool

Aktiviert oder deaktiviert das OpenType-Feature Kerning bei der Gestaltung des Textes. Das Deaktivieren dieser Funktion kann die Leistung beim Erstellen oder Ändern von Text verbessern, auf Kosten einiger kosmetischer Eigenschaften. Der Standardwert ist true.

PathText { text: "OATS FLAVOUR WAY"; font.kerning: false }

font.letterSpacing : real

Legt die Buchstabenabstände für die Schriftart fest.

Der Buchstabenabstand ändert den Standardabstand zwischen einzelnen Buchstaben in der Schriftart. Ein positiver Wert vergrößert den Buchstabenabstand um die entsprechenden Pixel, ein negativer Wert verkleinert den Abstand.


font.pixelSize : int

Legt die Schriftgröße in Pixeln fest.

Die Verwendung dieser Funktion macht die Schrift geräteabhängig. Verwenden Sie pointSize, um die Größe der Schrift geräteunabhängig einzustellen.


font.pointSize : real

Legt die Schriftgröße in Punkten fest. Die Punktgröße muss größer als Null sein.


font.preferShaping : bool

Manchmal wendet eine Schriftart komplexe Regeln auf eine Reihe von Zeichen an, um sie korrekt darzustellen. In einigen Schriftsystemen, wie z. B. den brahmanischen Schriften, ist dies für die Lesbarkeit des Textes erforderlich, aber z. B. in der lateinischen Schrift ist es nur ein kosmetisches Merkmal. Wenn Sie die Eigenschaft preferShaping auf false setzen, werden alle diese Funktionen deaktiviert, wenn sie nicht benötigt werden, was in den meisten Fällen die Leistung verbessert.

Der Standardwert ist true.

PathText { text: "Some text"; font.preferShaping: false }

font.preferTypoLineMetrics : bool [since 6.8]

konkurrierende Sätze der vertikalen Linienmetriken, die die ascent, descent und leading der Schriftart liefern. Diese werden oft als win (Windows) Metriken und typo (typografische) Metriken bezeichnet. Obwohl die Spezifikation die Verwendung der typo -Metriken für den Zeilenabstand empfiehlt, bevorzugen viele Anwendungen die win -Metriken, es sei denn, das USE_TYPO_METRICS -Flag ist im fsSelection-Feld der Schriftart gesetzt. Aus Gründen der Rückwärtskompatibilität ist dies auch bei Qt-Anwendungen der Fall. Dies ist kein Problem für Schriften, die das USE_TYPO_METRICS -Flag setzen, um anzuzeigen, dass die typo -Metriken gültig sind, oder für Schriften, bei denen die win -Metriken und typo -Metriken übereinstimmen. Bei bestimmten Schriftarten können die win -Metriken jedoch größer sein als der bevorzugte Zeilenabstand und das USE_TYPO_METRICS -Flag kann versehentlich nicht gesetzt werden. Für solche Schriftarten kann die Einstellung font.preferTypoLineMetrics bessere Ergebnisse liefern.

Standardmäßig ist preferTypoLineMetrics auf false gesetzt.

Diese Eigenschaft wurde in Qt 6.8 eingeführt.

Siehe auch QFont::StyleStrategy.


font.strikeout : bool

Legt fest, ob die Schriftart einen Durchstreichungsstil hat.


font.styleName : string

Legt den Stilnamen der Schriftart fest.

Der Stilname unterscheidet nicht zwischen Groß- und Kleinschreibung. Wenn diese Eigenschaft gesetzt ist, wird die Schrift mit dem Stilnamen verglichen und nicht mit den Schrifteigenschaften font.weight, font.bold und font.italic.


font.underline : bool

Legt fest, ob der Text unterstrichen ist.


font.variableAxes : object [since 6.7]

Wendet Fließkommawerte auf variable Achsen in variablen Schriftarten an.

Variable Schriftarten bieten eine Möglichkeit, mehrere Variationen (mit unterschiedlichen Gewichten, Breiten oder Stilen) in derselben Schriftdatei zu speichern. Die Variationen werden als Fließkommawerte für einen vordefinierten Satz von Parametern angegeben, die als "variable Achsen" bezeichnet werden. Spezifische Instanzen werden typischerweise vom Fontdesigner mit Namen versehen, und in Qt können diese mit setStyleName() genau wie traditionelle Unterfamilien ausgewählt werden.

In manchen Fällen ist es auch nützlich, beliebige Werte für die verschiedenen Achsen anzugeben. Wenn zum Beispiel eine Schriftart eine Unterfamilie Regular und Bold hat, möchten Sie vielleicht ein Gewicht dazwischen haben. Sie könnten dies dann manuell anfordern, indem Sie einen benutzerdefinierten Wert für die Achse "wght" in der Schriftart angeben.

Text {
    text: "Foobar"
    font.family: "MyVariableFont"
    font.variableAxes: { "wght": (Font.Normal + Font.Bold) / 2.0 }
}

Wenn die "wght"-Achse von der Schriftart unterstützt wird und der angegebene Wert innerhalb des definierten Bereichs liegt, wird eine Schriftart mit dem Gewicht 550,0 bereitgestellt.

Es gibt einige Standardachsen, die von vielen Schriftarten unterstützt werden, wie "wght" (Gewicht), "wdth" (Breite), "ital" (kursiv) und "opsz" (optische Größe). Sie haben jeweils eigene Bereiche, die in der Schriftart selbst definiert sind. Zum Beispiel kann "wght" von 100 bis 900 reichen (QFont::Thin bis QFont::Black), während "ital" von 0 bis 1 reichen kann (von nicht kursiv bis vollständig kursiv).

Eine Schriftart kann auch benutzerdefinierte Achsen definieren; die einzige Einschränkung besteht darin, dass der Name die Anforderungen für QFont::Tag (Folge von vier lateinischen-1 Zeichen) erfüllen muss.

Standardmäßig sind keine variablen Achsen festgelegt.

Hinweis: Unter Windows werden variable Achsen nicht unterstützt, wenn das optionale GDI Font Backend verwendet wird.

Diese Eigenschaft wurde in Qt 6.7 eingeführt.

Siehe auch QFont::setVariableAxis().


font.weight : int

Setzt das Gewicht der Schrift.

Das Gewicht kann eines der folgenden sein:

KonstanteBeschreibung
Font.Thin100
Font.ExtraLight200
Font.Light300
Font.Normal400 (Standard)
Font.Medium500
Font.DemiBold600
Font.Bold700
Font.ExtraBold800
Font.Black900
PathText { text: "Hello"; font.weight: Font.DemiBold }

font.wordSpacing : real

Legt den Wortabstand für die Schriftart fest.

Der Wortabstand ändert den Standardabstand zwischen den einzelnen Wörtern. Ein positiver Wert vergrößert den Wortabstand um eine entsprechende Anzahl von Pixeln, während ein negativer Wert den Abstand zwischen den Wörtern entsprechend verkleinert.


text : string

Der Text, für den diese PathText die Umrisse enthalten soll.


x : real

Die horizontale Position der Grundlinie von PathText.


y : real

Die vertikale Position der Grundlinie von PathText.

Hinweis: Diese Eigenschaft bezieht sich auf die Position der Grundlinie des Textes, nicht auf den oberen Rand seines Begrenzungsrahmens. Dies kann zu Verwirrung führen, z. B. bei der Verwendung von PathText mit Qt Quick Shapes. Unter FontMetrics finden Sie Informationen darüber, wie Sie die Steigung einer Schriftart ermitteln können, die zur Übersetzung des Textes in die erwartete Position verwendet werden kann.


© 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.