font QML Value Type
Ein Schriftartwert mit den Eigenschaften von QFont. Der Typ „ font “ bezieht sich auf einen Schriftartwert mit den Eigenschaften von QFont. Mehr...
| Import Statement: | import QtQuick |
Eigenschaften
- bold : bool
- capitalization : enumeration
- contextFontMerging : bool
(since 6.8) - family : string
- features : object
(since 6.6) - hintingPreference : enumeration
- italic : bool
- kerning : bool
- letterSpacing : real
- pixelSize : int
- pointSize : real
- preferShaping : bool
- preferTypoLineMetrics : bool
(since 6.8) - strikeout : bool
- styleName : string
- underline : bool
- variableAxes : object
(since 6.7) - weight : int
- wordSpacing : real
Ausführliche Beschreibung
Eigenschaften vom Typ „ font “ werden standardmäßig auf den Standardwert der Anwendung „ font “ gesetzt.
Beispiel:
Text {
font.family: "Helvetica"
font.pointSize: 13
font.bold: true
}Da „ font “ ein „ structured value “-Typ ist, kann er auch mit einem JavaScript-Objekt instanziiert werden:
readonly property font myFont: ({
family: "Helvetica",
pointSize: 13,
bold: true
})Bei der Integration mit C++ ist zu beachten, dass jeder aus C++ an QML übergebene „ QFont “-Wert automatisch in einen „ font “-Wert konvertiert wird und umgekehrt.
Dieser Werttyp wird durch den Import „ QtQuick “ bereitgestellt.
Siehe auch QML-Werttypen.
Dokumentation zu Eigenschaften
bold : bool
Ob die Schriftstärke „fett“ ist.
capitalization : enumeration
Die Großschreibung in einem Text.
| Konstante | Beschreibung |
|---|---|
Font.MixedCase | Normalfall: Es wird keine Änderung der Großschreibung vorgenommen |
Font.AllUppercase | ändert den darzustellenden Text in Großbuchstaben |
Font.AllLowercase | bewirkt, dass der Text in Kleinbuchstaben dargestellt wird |
Font.SmallCaps | bewirkt, dass der Text in Kapitälchen dargestellt wird |
Font.Capitalize | Der Text wird so dargestellt, dass das erste Zeichen jedes Wortes großgeschrieben ist |
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 Textzeichenfolge verwendet werden können, selbst wenn diese in derselben Schrift 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 “.
family : string
Der Name der Schriftfamilie.
Bei der Schriftfamilie wird die Groß-/Kleinschreibung nicht berücksichtigt; optional kann der Name des Schriftherstellers angegeben werden, zum Beispiel „Helvetica [Cronyx]“. Wenn die Schriftfamilie von mehr als einem Schriftanbieter erhältlich ist und der Schriftanbieter nicht angegeben wird, wird ein beliebiger Schriftanbieter ausgewählt. Ist die Schriftfamilie nicht verfügbar, wird mithilfe des Algorithmus zur Schriftartenzuordnung eine Schriftfamilie festgelegt.
features : object [since 6.6]
Wendet bei der inhaltbasierten 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 eingebettet (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 Ligatur-Funktionen (liga, clig,
dlig, hlig) werden deaktiviert, wenn „font.letterSpacing“ festgelegt 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()“.
hintingPreference : enumeration
Die bevorzugte Hinting-Einstellung für den Text.
Dies ist ein Hinweis an das zugrunde liegende Text-Rendering-System, einen bestimmten Grad an Hinting zu verwenden, und wird von den verschiedenen Plattformen unterschiedlich unterstützt. Weitere Details finden Sie in der Tabelle in der Dokumentation zu „ QFont::HintingPreference “.
Hinweis: Diese Eigenschaft wirkt sich nur aus, wenn sie zusammen mit dem Rendering-Typ „ Text.NativeRendering “ verwendet wird.
| Konstante | Beschreibung |
|---|---|
Font.PreferDefaultHinting | Verwende den Standard-Hinting-Grad für die Zielplattform. |
Font.PreferNoHinting | Wenn möglich, wird der Text ohne Hinting der Glyphenkonturen gerendert. Das Textlayout ist typografisch korrekt und verwendet dieselben Metriken wie beispielsweise beim Drucken. |
Font.PreferVerticalHinting | Wenn möglich, wird der Text ohne horizontales Hinting gerendert, die Glyphen werden jedoch in vertikaler Richtung am Pixelraster ausgerichtet. Der Text erscheint auf Displays, deren Auflösung zu gering ist, um die Glyphen präzise darzustellen, schärfer. Da die horizontalen Metriken der Glyphen jedoch nicht optimiert sind, lässt sich das Textlayout auf Geräte mit höherer Auflösung (wie z. B. Drucker) skalieren, ohne dass Details wie Zeilenumbrüche beeinträchtigt werden. |
Font.PreferFullHinting | Rendern Sie Text nach Möglichkeit mit Hinting sowohl in horizontaler als auch in vertikaler Richtung. Der Text wird angepasst, um die Lesbarkeit auf dem Zielgerät zu optimieren; da die Metriken jedoch von der Zielgröße des Textes abhängen, lassen sich die Positionen der Glyphen, Zeilenumbrüche und andere typografische Details nicht skalieren, was bedeutet, dass ein Textlayout auf Geräten mit unterschiedlichen Pixeldichten unterschiedlich aussehen kann. |
italic : bool
Ob die Schriftart eine kursive Variante hat.
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 }letterSpacing : real
Der Zeichenabstand für die Schriftart.
Der Buchstabenabstand verändert den Standardabstand zwischen den einzelnen Buchstaben der Schriftart. Ein positiver Wert vergrößert den Buchstabenabstand um die entsprechende Pixelanzahl; ein negativer Wert verringert den Abstand.
pixelSize : int
Die Schriftgröße in Pixeln.
Macht die Schriftart geräteabhängig. Verwenden Sie „ pointSize “, um die Schriftgröße geräteunabhängig festzulegen.
pointSize : real
Die Schriftgröße in Punkten. Die Punktgröße muss größer als null sein.
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 }preferTypoLineMetrics : bool [since 6.8]
Konkurrierende Sätze vertikaler Linienmetriken, die die Werte „ ascent “, „ descent “ und „ leading “ der Schriftart liefern. Diese werden oft als „Win-Metriken“ (Windows) und „Typo-Metriken“ (typografische Metriken) 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 “ ist möglicherweise versehentlich nicht gesetzt. 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 “.
strikeout : bool
Ob die Schriftart einen Durchstreichstil aufweist.
styleName : string
Der Stilname der Schriftart.
Bei der Angabe des Stilnamens wird die Groß-/Kleinschreibung nicht berücksichtigt. Wenn dieser festgelegt ist, wird die Schriftart anhand des Stilnamens statt anhand der Schriftart-Eigenschaften „ font.weight “, „ font.bold “ und „ font.italic “ zugeordnet.
underline : bool
Ob der Text unterstrichen ist.
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 Schriftdatei 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 von vielen Schriftarten bereitgestellt werden, 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“ im Bereich von 100 bis 900 (QFont::Thin bis QFont::Black) liegen, während „ital“ im Bereich von 0 bis 1 (von nicht kursiv bis vollständig kursiv) liegen kann.
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-Schriftarten-Backend verwendet wird.
Diese Eigenschaft wurde in Qt 6.7 eingeführt.
Siehe auch „ QFont::setVariableAxis“ ().
weight : int
Die gewünschte Schriftstärke. Die angegebene Schriftstärke muss eine ganze Zahl zwischen 1 und 1000 sein oder einem der vordefinierten Werte entsprechen:
| 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 |
wordSpacing : real
Der Wortabstand für die Schriftart.
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.
© 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.