PathText QML Type
Definiert eine Zeichenkette in einer bestimmten Schriftart. Mehr...
| Import Statement: | import QtQuick |
| Since: | QtQuick 2.15 |
Eigenschaften
- font.bold : bool
- font.capitalization : enumeration
- font.contextFontMerging : bool
(since 6.8) - font.family : string
- font.features : object
(since 6.6) - font.italic : bool
- font.kerning : bool
- font.letterSpacing : real
- font.pixelSize : int
- font.pointSize : real
- font.preferShaping : bool
- font.preferTypoLineMetrics : bool
(since 6.8) - font.strikeout : bool
- font.styleName : string
- font.underline : bool
- font.variableAxes : object
(since 6.7) - font.weight : int
- font.wordSpacing : real
- text : string
- x : real
- y : real
Ausführliche Beschreibung
Dieses Element definiert die Form einer angegebenen Zeichenfolge in einer angegebenen Schriftart. Die Grundlinie des Textes wird in x- und y-Koordinaten umgewandelt, und die Konturen der Schriftart werden entsprechend dem Pfad hinzugefügt.
Bei der Verwendung zur Darstellung von Texten in einem Shape-Element ist Folgendes zu beachten:
- Für eine korrekte Füllung sollte die „fillRule“ des „ ShapePath “ auf „ ShapePath.WindingFill“ gesetzt werden.
- Nicht alle Schriftarten bieten einen schönen, für die Konturierung geeigneten Umriss. Wenn Sie einen konturierten Umriss wünschen und keine zufriedenstellenden Ergebnisse erzielen, probieren Sie eine andere Schriftart aus.
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 “.
Dokumentation zu Eigenschaften
font.bold : bool
Legt fest, ob die Schrift fett formatiert ist.
font.capitalization : enumeration
Legt die Großschreibung des Textes fest.
| Konstante | Beschreibung |
|---|---|
Font.MixedCase | Normalfall: Es wird keine Änderung der Großschreibung vorgenommen |
Font.AllUppercase | ändert den darzustellenden Text in Großbuchstaben |
Font.AllLowercase | Der Text wird in Kleinbuchstaben dargestellt |
Font.SmallCaps | bewirkt, dass der Text in Kapitälchen dargestellt wird |
Font.Capitalize | bewirkt, dass der Text so dargestellt wird, dass das erste Zeichen jedes Wortes großgeschrieben ist |
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 aus, die dieses Zeichen enthält. Standardmäßig erfolgt dies Zeichen für Zeichen.
Das bedeutet, dass in bestimmten seltenen Fällen viele verschiedene Schriftarten zur Darstellung einer einzigen Textzeichenfolge verwendet werden können, selbst wenn diese in derselben Schriftart geschrieben ist. Wenn „ contextFontMerging “ auf „true“ gesetzt wird, wird stattdessen versucht, die Ersatzschriftart zu finden, die mit der größten Teilmenge der Eingabezeichenfolge übereinstimmt. Dies ist bei Zeichenfolgen, in denen fehlende Glyphen vorkommen, rechenintensiver, kann jedoch zu konsistenteren Ergebnissen führen. Standardmäßig ist „ contextFontMerging “ auf „ false “ gesetzt.
Diese Eigenschaft wurde in Qt 6.8 eingeführt.
Siehe auch „ QFont::StyleStrategy “.
font.family : string
Legt den Familiennamen der Schriftart fest.
Bei der Schriftfamilie wird die Groß-/Kleinschreibung nicht berücksichtigt, und der Name kann optional einen Herstellerangabe enthalten, zum Beispiel „Helvetica [Cronyx]“. Wenn die Schriftfamilie von mehr als einem Hersteller erhältlich ist und der Hersteller nicht angegeben wird, wird ein beliebiger Hersteller ausgewählt. Ist die Schriftfamilie nicht verfügbar, wird mithilfe des Algorithmus zur Schriftartzuordnung eine Schriftfamilie festgelegt.
font.features : object [since 6.6]
Wendet bei der inhaltsbasierten Textgestaltung ganzzahlige Werte auf bestimmte OpenType-Funktionen an. Dies ermöglicht einen erweiterten Zugriff auf den Prozess der Schriftgestaltung und kann zur Unterstützung von Schriftfunktionen genutzt werden, die ansonsten nicht in der API abgedeckt sind.
Die Schriftfunktionen werden durch eine Zuordnung von vierbuchstabigen Tags zu ganzzahligen Werten dargestellt. Dieser ganzzahlige Wert, der in den meisten Fällen zusammen mit dem Tag übergeben wird, stellt einen booleschen Wert dar: Der Wert Null bedeutet, dass die Funktion deaktiviert ist, und ein Wert ungleich Null bedeutet, dass sie aktiviert ist. Bei bestimmten Schriftfunktionen kann dies jedoch auch anders interpretiert werden. Wird der Wert beispielsweise auf die Funktion „ salt “ angewendet, handelt es sich um einen Index, der die zu verwendende stilistische Alternative angibt.
Die Schriftfunktion „ frac “ wandelt beispielsweise diagonale Brüche, die durch einen Schrägstrich getrennt sind (wie z. B. 1/2), in eine andere Darstellung um. In der Regel wird dabei der gesamte Bruch in eine einzige Zeichenbreite zusammengefasst (wie z. B. ½).
Wenn eine Schriftart die Funktion „ frac “ unterstützt, kann sie im Shaper wie im folgenden Code aktiviert werden:
Text {
text: "One divided by two is 1/2"
font.family: "MyFractionFont"
font.features: { "frac": 1 }
}In derselben Zuordnung können mehreren Funktionen Werte zugewiesen werden. Wenn Sie beispielsweise 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 Schriftarteneigenschaften auch in einem Objekt zusammenfassen:
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 Schrift-Eigenschaften. Insbesondere wird die Funktion „ kern “ je nach der Eigenschaft „ font::kerning “ aktiviert bzw. deaktiviert. Darüber hinaus werden alle Ligaturfunktionen (liga, clig,
dlig, hlig) werden deaktiviert, wenn „ font.letterSpacing “ gesetzt ist, jedoch nur für Schriftsysteme, in denen die Verwendung von Ligaturen rein kosmetischer Natur ist. Bei Schriftsystemen, in denen Ligaturen erforderlich sind, bleiben die Funktionen in ihrem Standardzustand. Die mit „ font.features “ festgelegten Werte überschreiben das Standardverhalten. Ist beispielsweise „ "kern" “ auf 1 gesetzt, ist das Kerning immer aktiviert, unabhängig davon, ob die Eigenschaft „ font::kerning “ auf „false“ gesetzt ist. Ebenso
wenn der Wert auf „ 0 “ gesetzt ist, ist es immer deaktiviert.
Diese Eigenschaft wurde in Qt 6.6 eingeführt.
Siehe auch „ QFont::setFeature()“.
font.italic : bool
Legt fest, ob die Schriftart einen kursiven Stil hat.
font.kerning : bool
Aktiviert oder deaktiviert die OpenType-Funktion „Kerning“ bei der Textgestaltung. Die Deaktivierung dieser Funktion kann die Leistung beim Erstellen oder Ändern des Textes verbessern, geht jedoch zu Lasten einiger optischer Merkmale. Der Standardwert lautet „ true “.
Text { text: "OATS FLAVOUR WAY"; font.kerning: false }font.letterSpacing : real
Legt den Zeichenabstand für die Schriftart fest.
Der Buchstabenabstand verändert den Standardabstand zwischen den einzelnen Buchstaben der Schriftart. Ein positiver Wert vergrößert den Buchstabenabstand um die entsprechende Anzahl an Pixeln; ein negativer Wert verringert den Abstand.
font.pixelSize : int
Legt die Schriftgröße in Pixeln fest.
Die Verwendung dieser Funktion macht die Schriftart geräteabhängig. Verwenden Sie „ pointSize “, um die Schriftgröße geräteunabhängig festzulegen.
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 diese korrekt darzustellen. In einigen Schriftsystemen, wie beispielsweise den brahmischen Schriften, ist dies erforderlich, damit der Text lesbar ist, während es beispielsweise bei der lateinischen Schrift lediglich ein kosmetisches Merkmal ist. Durch Setzen der Eigenschaft „ preferShaping “ auf „false“ werden alle derartigen Funktionen deaktiviert, wenn sie nicht benötigt werden, was in den meisten Fällen die Leistung verbessert.
Der Standardwert ist „ true “.
Text { text: "Some text"; font.preferShaping: false }font.preferTypoLineMetrics : bool [since 6.8]
Konkurrierende Sätze vertikaler Linienmaße, die die „ ascent “, „ descent “ und „ leading “ der Schriftart bereitstellen. Diese werden oft als „Win“-Maße (Windows) und „Typo“-Maße (typografische Maße) bezeichnet. Während die Spezifikation die Verwendung der „ typo “-Metriken für den Zeilenabstand empfiehlt, bevorzugen viele Anwendungen die „ win “-Metriken, es sei denn, das Flag „ USE_TYPO_METRICS “ ist im Feld „fsSelection“ der Schriftart gesetzt. Aus Gründen der Abwärtskompatibilität gilt dies auch für Qt-Anwendungen. Dies ist kein Problem für Schriftarten, bei denen das Flag „ USE_TYPO_METRICS “ gesetzt ist, um anzugeben, dass die „ typo “-Metriken gültig sind, und auch nicht für Schriftarten, bei denen die „ win “-Metriken und die „ typo “-Metriken übereinstimmen. Bei bestimmten Schriftarten können die „ win “-Metriken jedoch größer sein als der bevorzugte Zeilenabstand, und das Flag „ USE_TYPO_METRICS “ kann versehentlich nicht gesetzt sein. Bei solchen Schriftarten kann das Setzen von „ font.preferTypoLineMetrics “ zu besseren Ergebnissen führen.
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 Durchgestrichen-Stil aufweist.
font.styleName : string
Legt den Stilnamen der Schriftart fest.
Bei der Eingabe des Stilsnamens wird die Groß-/Kleinschreibung nicht berücksichtigt. Ist dieser festgelegt, wird die Schriftart anhand des Stilsnamens statt anhand der Schriftart-Eigenschaften „ font.weight “, „ font.bold “ und „ font.italic “ zugeordnet.
font.underline : bool
Legt fest, ob der Text unterstrichen ist.
font.variableAxes : object [since 6.7]
Wendet Gleitkommawerte auf variable Achsen in variablen Schriftarten an.
Variable Schriftarten bieten die Möglichkeit, mehrere Varianten (mit unterschiedlichen Strichstärken, Breiten oder Stilen) in derselben Schriftartdatei zu speichern. Die Varianten werden als Gleitkommawerte für einen vordefinierten Satz von Parametern angegeben, die als „variable Achsen“ bezeichnet werden. Bestimmte Instanzen werden in der Regel vom Schriftdesigner benannt und können in Qt genau wie herkömmliche Unterfamilien mit setStyleName() ausgewählt werden.
In manchen Fällen ist es auch sinnvoll, beliebige Werte für die verschiedenen Achsen anzugeben. Wenn eine Schriftart beispielsweise die Unterfamilien „Regular“ und „Bold“ enthält, möchten Sie vielleicht eine Strichstärke dazwischen. Dies könnten Sie 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 bereitgestellt, die der Stärke 550,0 entspricht.
Es gibt einige Standardachsen, die viele Schriftarten bereitstellen, wie beispielsweise „wght“ (Strichstärke), „wdth“ (Breite), „ital“ (Kursiv) und „opsz“ (optische Größe). Für jede dieser Achsen sind in der Schriftart selbst individuelle Bereiche definiert. Beispielsweise 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 festlegen; die einzige Einschränkung besteht darin, dass der Name die Anforderungen an eine „ QFont::Tag “ (eine Folge von vier Latin-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-Schriftart-Backend verwendet wird.
Diese Eigenschaft wurde in Qt 6.7 eingeführt.
Siehe auch „ QFont::setVariableAxis“ ().
font.weight : int
Legt die Schriftstärke fest.
Die Schriftstärke kann einer der folgenden Werte sein:
| Konstante | Beschreibung |
|---|---|
Font.Thin | 100 |
Font.ExtraLight | 200 |
Font.Light | 300 |
Font.Normal | 400 (Standard) |
Font.Medium | 500 |
Font.DemiBold | 600 |
Font.Bold | 700 |
Font.ExtraBold | 800 |
Font.Black | 900 |
font.wordSpacing : real
Legt den Wortabstand für die Schriftart fest.
Der Wortabstand verändert den Standardabstand zwischen einzelnen Wörtern. Ein positiver Wert vergrößert den Wortabstand um die entsprechende Anzahl an Pixeln, während ein negativer Wert den Abstand zwischen den Wörtern entsprechend verringert.
text : string
Der Text, für den dieser PathText die Gliederung enthalten soll.
x : real
Die horizontale Lage der Grundlinie des „ PathText “.
y : real
Die vertikale Position der Grundlinie des „ PathText “.
Hinweis: Diese Eigenschaft bezieht sich auf die Position der Grundlinie des Textes, nicht auf die Oberkante seines Begrenzungsrahmens. Dies kann zu Verwirrung führen, z. B. bei der Verwendung des „ PathText “ mit „ Qt Quick “-Formen. Unter FontMetrics finden Sie Informationen dazu, wie Sie die Höhe einer Schriftart ermitteln können, um den Text an die gewünschte Position zu verschieben.
© 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.