Text QML Type
Gibt an, wie formatierter Text zu einer Szene hinzugefügt werden soll. Mehr...
Eigenschaften
- advance : size
- antialiasing : bool
- baseUrl : url
- bottomPadding : real
- clip : bool
- color : color
- contentHeight : real
- contentWidth : real
- effectiveHorizontalAlignment : enumeration
- elide : enumeration
- font.bold : bool
- font.capitalization : enumeration
- font.contextFontMerging : bool
(since 6.8) - font.family : string
- font.features : object
(since 6.6) - font.hintingPreference : enumeration
- 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
- fontInfo.bold : bool
- fontInfo.family : string
- fontInfo.italic : bool
- fontInfo.pixelSize : int
- fontInfo.pointSize : real
- fontInfo.styleName : string
- fontInfo.weight : int
- fontSizeMode : enumeration
- horizontalAlignment : enumeration
- hoveredLink : string
- leftPadding : real
- lineCount : int
- lineHeight : real
- lineHeightMode : enumeration
- linkColor : color
- maximumLineCount : int
- minimumPixelSize : int
- minimumPointSize : int
- padding : real
- renderType : enumeration
- renderTypeQuality : int
(since 6.0) - rightPadding : real
- style : enumeration
- styleColor : color
- text : string
- textFormat : enumeration
- topPadding : real
- truncated : bool
- verticalAlignment : enumeration
- wrapMode : enumeration
Signale
- lineLaidOut(object line)
- linkActivated(string link)
- linkHovered(string link)
Methoden
- void forceLayout()
- string linkAt(real x, real y)
Ausführliche Beschreibung
Textelemente können sowohl einfachen als auch ausführlichen Text anzeigen. Sie können zum Beispiel roten Text mit einer bestimmten Schriftart und -größe wie folgt definieren:
Text { text: "Hello World!" font.family: "Helvetica" font.pointSize: 24 color: "red" }
Verwenden Sie HTML-ähnliches Markup oder Markdown, um Rich-Text zu definieren:
Text { text: "<b>Hello</b> <i>World!</i>" }
Text { text: "**Hello** *World!*" }

Wenn Höhe und Breite nicht explizit festgelegt sind, versucht Text zu ermitteln, wie viel Platz benötigt wird, und stellt ihn entsprechend ein. Sofern nicht wrapMode gesetzt ist, wird immer die Breite der Höhe vorgezogen (der gesamte Text wird in einer einzigen Zeile platziert).
Um eine einzelne Zeile einfachen Textes an eine bestimmte Breite anzupassen, können Sie die Eigenschaft elide verwenden.
Hinweis: Der unterstützte HTML-Teilsatz ist begrenzt. Sie soll nicht mit dem HTML-Standard übereinstimmen, sondern wird als Hilfestellung für die Anwendung von Stilen auf Textbeschriftungen bereitgestellt. Wenn der Text HTML img Tags enthält, die entfernte Bilder laden, wird der Text außerdem neu geladen.
Text bietet schreibgeschützten Text. Für editierbaren Text, siehe TextEdit.
Warnung: Standardmäßig erkennt Text textFormat anhand des Inhalts von text. Wenn es sich um Text.StyledText oder Text.MarkdownText handelt, unterstützt die Komponente Text Rich-Text-Funktionen wie das Ändern von Farben, Schriftarten und Inline-Bildern. Zu dieser Funktionalität gehört auch das Laden von Bildern aus der Ferne über das Netzwerk. Bei der Anzeige von benutzergesteuerten, nicht vertrauenswürdigen Inhalten sollte textFormat daher entweder explizit auf Text.PlainText gesetzt werden, oder der Inhalt sollte von unerwünschten Tags befreit werden.
Siehe auch das Beispiel Schriftarten.
Eigenschaft Dokumentation
advance : size [read-only]
Der Abstand in Pixeln vom Grundlinienursprung des ersten Zeichens der Texteinheit bis zum Grundlinienursprung des ersten Zeichens einer Texteinheit, die in einem Textfluss direkt nach diesem Zeichen erscheint.
Beachten Sie, dass der Abstand negativ sein kann, wenn der Text von rechts nach links fließt.
antialiasing : bool
Wird verwendet, um zu entscheiden, ob der Text Antialiasing verwenden soll oder nicht. Nur Text mit renderType von Text.NativeRendering kann Antialiasing deaktivieren.
Der Standardwert ist true.
baseUrl : url
Diese Eigenschaft gibt eine Basis-URL an, die zur Auflösung relativer URLs innerhalb des Textes verwendet wird.
Die URLs werden so aufgelöst, dass sie sich im selben Verzeichnis wie das Ziel der Basis-URL befinden, d. h. jeder Teil des Pfades nach dem letzten "/" wird ignoriert.
| Basis-URL | Relative URL | Aufgelöste URL |
|---|---|---|
| http://qt-project.org/ | bilder/logo.png | http://qt-project.org/images/logo.png |
| http://qt-project.org/index.html | bilder/logo.png | http://qt-project.org/images/logo.png |
| http://qt-project.org/content | bilder/logo.png | http://qt-project.org/content/images/logo.png |
| http://qt-project.org/content/ | bilder/logo.png | http://qt-project.org/content/images/logo.png |
| http://qt-project.org/content/index.html | bilder/logo.png | http://qt-project.org/content/images/logo.png |
| http://qt-project.org/content/index.html | ../bilder/logo.png | http://qt-project.org/images/logo.png |
| http://qt-project.org/content/index.html | /images/logo.png | http://qt-project.org/images/logo.png |
Der Standardwert ist die URL der QML-Datei, die das Textelement instanziiert.
Diese Eigenschaften enthalten die Polsterung um den Inhalt. Dieser Platz ist zusätzlich zu contentWidth und contentHeight reserviert.
clip : bool
Diese Eigenschaft gibt an, ob der Text abgeschnitten wird.
Wenn der Text nicht in das begrenzende Rechteck passt, wird er abrupt abgeschnitten.
Wenn Sie einen potenziell langen Text in einem begrenzten Raum anzeigen möchten, sollten Sie stattdessen elide verwenden.
color : color
Die Textfarbe.
Ein Beispiel für grünen Text, der in hexadezimaler Notation definiert ist:
Text { color: "#00FF00" text: "green text" }
Ein Beispiel für stahlblauen Text, definiert mit einem SVG-Farbnamen:
Text { color: "steelblue" text: "blue text" }
contentHeight : real [read-only]
Gibt die Höhe des Textes zurück, einschließlich der Höhe, die über die Höhe hinausgeht, die verdeckt wird, weil mehr Text vorhanden ist, als in die eingestellte Höhe passt.
contentWidth : real [read-only]
Gibt die Breite des Textes zurück, einschließlich der Breite, die über die Breite hinausgeht, die durch einen unzureichenden Umbruch verdeckt wird, wenn WrapMode eingestellt ist.
effectiveHorizontalAlignment : enumeration [read-only]
horizontalAlignment : enumeration
verticalAlignment : enumeration
Legt die horizontale und vertikale Ausrichtung des Textes innerhalb der Breite und Höhe der Textelemente fest. Standardmäßig wird der Text vertikal nach oben ausgerichtet. Die horizontale Ausrichtung folgt der natürlichen Ausrichtung des Textes, z. B. wird Text, der von links nach rechts gelesen wird, links ausgerichtet.
Die gültigen Werte für horizontalAlignment sind Text.AlignLeft, Text.AlignRight, Text.AlignHCenter und Text.AlignJustify. Die gültigen Werte für verticalAlignment sind Text.AlignTop, Text.AlignBottom und Text.AlignVCenter.
Beachten Sie, dass bei einer einzelnen Textzeile die Größe des Textes der Fläche des Textes entspricht. In diesem allgemeinen Fall sind alle Ausrichtungen gleichwertig. Wenn Sie möchten, dass der Text z. B. in seinem übergeordneten Element zentriert wird, müssen Sie entweder die Eigenschaft Item::anchors ändern oder horizontalAlignment auf Text.AlignHCenter setzen und die Breite an die des übergeordneten Elements binden.
Wenn Sie die angehängte Eigenschaft LayoutMirroring::enabled verwenden, um Anwendungslayouts zu spiegeln, wird auch die horizontale Ausrichtung des Textes gespiegelt. Die Eigenschaft horizontalAlignment bleibt jedoch unverändert. Um die effektive horizontale Ausrichtung von Text abzufragen, verwenden Sie die schreibgeschützte Eigenschaft effectiveHorizontalAlignment.
elide : enumeration
Setzen Sie diese Eigenschaft, um Teile des Textes auszulassen, die an die Breite des Textelements angepasst sind. Der Text wird nur ausgeblendet, wenn eine explizite Breite festgelegt wurde.
Diese Eigenschaft kann nicht mit Rich Text verwendet werden.
Ausblenden kann sein:
| Konstant | Beschreibung |
|---|---|
Text.ElideNone | - die Vorgabe |
Text.ElideLeft | |
Text.ElideMiddle | |
Text.ElideRight |
Wenn diese Eigenschaft auf Text.ElideRight gesetzt ist, kann sie mit wrapped Text verwendet werden. Der Text wird nur ausgelassen, wenn maximumLineCount oder height gesetzt wurde. Wenn sowohl maximumLineCount als auch height eingestellt sind, gilt maximumLineCount, es sei denn, die Zeilen passen nicht in die zulässige Höhe.
Handelt es sich bei dem Text um eine mehrzeilige Zeichenkette und ist der Modus nicht Text.ElideNone, wird die erste passende Zeichenkette verwendet, andernfalls wird die letzte ausgelassen.
Zeichenfolgen mit mehreren Längen werden von der längsten zur kürzesten geordnet, getrennt durch das Unicode-Zeichen "String Terminator" U009C (in QML mit "\u009C" oder "\x9C" geschrieben).
font.bold : bool
Legt fest, ob der Schriftschnitt fett ist.
font.capitalization : enumeration
Legt die Großschreibung für den Text fest.
| Konstante | Beschreibung |
|---|---|
Font.MixedCase | Normalfall: es wird keine Änderung der Großschreibung vorgenommen |
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 eines jeden Wortes ein Großbuchstabe istText { 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 teurer für Zeichenketten, in denen Glyphen fehlen, kann aber konsistentere Ergebnisse liefern. Standardmäßig ist contextFontMerging false .
Diese Eigenschaft wurde in Qt 6.8 eingeführt.
Siehe auch QFont::StyleStrategy.
font.family : string
Legt den Familiennamen der Schriftart fest.
Der Familienname unterscheidet nicht zwischen Groß- und Kleinschreibung und kann optional den Namen einer Schriftgießerei 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 für den Schriftvergleich festgelegt.
font.features : object [since 6.6]
Wendet ganzzahlige Werte auf bestimmte OpenType-Merkmale an, wenn der Text basierend auf den Inhalten 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.hintingPreference : enumeration
Legt das bevorzugte Hinting für den Text fest. Dies ist ein Hinweis an das zugrundeliegende Textwiedergabesystem, ein bestimmtes Maß an Hinting zu verwenden, und wird von verschiedenen Plattformen unterschiedlich unterstützt. Weitere Einzelheiten finden Sie in der Tabelle in der Dokumentation zu QFont::HintingPreference.
Hinweis: Diese Eigenschaft hat nur eine Wirkung, wenn sie zusammen mit dem Rendertyp Text.NativeRendering verwendet wird.
| Konstante | Beschreibung |
|---|---|
Font.PreferDefaultHinting | Verwendet die Standard-Hinting-Ebene für die Zielplattform. |
Font.PreferNoHinting | Wenn möglich, rendern Sie Text, ohne die Umrisse der Glyphen anzudeuten. Das Textlayout ist typografisch genau und verwendet dieselben Metriken, die beispielsweise beim Drucken verwendet werden. |
Font.PreferVerticalHinting | Wenn möglich, rendern Sie den Text ohne horizontale Andeutungen, aber richten Sie die Glyphen in vertikaler Richtung am Pixelraster aus. Der Text wird auf Bildschirmen, deren Dichte für eine genaue Darstellung der Glyphen zu gering ist, schärfer erscheinen. Da die horizontalen Metriken der Glyphen jedoch nicht angedeutet sind, kann das Textlayout auf Geräten mit höherer Dichte (wie Druckern) skaliert werden, ohne dass Details wie Zeilenumbrüche beeinträchtigt werden. |
Font.PreferFullHinting | Wenn möglich, rendern Sie Text mit Hinting sowohl in horizontaler als auch in vertikaler Richtung. Der Text wird so verändert, dass er auf dem Zielgerät optimal lesbar ist. Da die Metrik jedoch von der Zielgröße des Textes abhängt, werden die Positionen von Glyphen, Zeilenumbrüchen und anderen typografischen Details nicht skaliert, was bedeutet, dass ein Textlayout auf Geräten mit unterschiedlicher Pixeldichte anders aussehen kann.Text { text: "Hello"; renderType: Text.NativeRendering; font.hintingPreference: Font.PreferVerticalHinting } |
font.italic : bool
Legt fest, ob die Schrift einen kursiven Stil hat.
font.kerning : bool
Aktiviert oder deaktiviert die Kerning-OpenType-Funktion bei der Gestaltung des Textes. Die Deaktivierung dieser Funktion kann die Leistung beim Erstellen oder Ändern des Textes verbessern, allerdings auf Kosten einiger kosmetischer Merkmale. Der Standardwert ist true.
Text { 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 Punkt 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 Merkmale 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 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. Bei solchen Schriftarten kann die Einstellung 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 Schrift einen Durchstreichungsstil hat.
font.styleName : string
Legt den Stilnamen der Schriftart fest.
Beim Stilnamen wird die Groß- und Kleinschreibung nicht berücksichtigt. Wenn festgelegt, wird die Schrift mit dem Stilnamen anstelle der Schrifteigenschaften font.weight, font.bold und font.italic abgeglichen.
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 die Möglichkeit, mehrere Varianten (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
Das gewünschte Gewicht der Schrift. Das gewünschte Gewicht muss eine ganze Zahl zwischen 1 und 1000 oder einer der vordefinierten 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 | 900Text { text: "Hello"; font.weight: Font.DemiBold } |
font.wordSpacing : real
Legt die Wortabstände 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.
fontInfo.bold : bool [read-only]
Der fette Status der Schriftinformationen, die für die aktuelle Schriftart und fontSizeMode aufgelöst wurden. Dies ist der Fall, wenn das Gewicht der aufgelösten Schriftart fett oder höher ist.
fontInfo.family : string [read-only]
Der Familienname der Schriftart, die für die aktuelle Schriftart aufgelöst wurde und fontSizeMode.
fontInfo.italic : bool [read-only]
Der kursive Zustand der Schriftinfo, der für die aktuelle Schriftart und fontSizeMode aufgelöst wurde.
fontInfo.pixelSize : int [read-only]
Die Pixelgröße der Schriftinfo, die für die aktuelle Schriftart und fontSizeMode aufgelöst wurde.
fontInfo.pointSize : real [read-only]
Die pointSize der Schriftinfo, die für die aktuelle Schriftart und fontSizeMode aufgelöst wurde.
fontInfo.styleName : string [read-only]
Der Stilname der Schriftinfo, die für die aktuelle Schriftart und fontSizeMode aufgelöst wurde.
fontInfo.weight : int [read-only]
Das Gewicht der Schriftinformationen, die für die aktuelle Schriftart und fontSizeMode aufgelöst wurden.
fontSizeMode : enumeration
Diese Eigenschaft gibt an, wie die Schriftgröße des angezeigten Textes bestimmt wird. Die möglichen Werte sind:
| Konstant | Beschreibung |
|---|---|
Text.FixedSize | (Standard) Es wird die durch font.pixelSize oder font.pointSize angegebene Größe verwendet. |
Text.HorizontalFit | Die größte Größe bis zur angegebenen Größe, die in die Breite des Elements ohne Umbruch passt, wird verwendet. |
Text.VerticalFit | Es wird die größte Größe bis zur angegebenen Größe verwendet, die in die Höhe des Objekts passt. |
Text.Fit | Die größte Größe bis zur angegebenen Größe, die in die Breite und Höhe des Elements passt, wird verwendet. |
Die Schriftgröße von eingepasstem Text hat eine Mindestgrenze, die durch die Eigenschaft minimumPointSize oder minimumPixelSize festgelegt wird, und eine Höchstgrenze, die entweder durch die Eigenschaften font.pointSize oder font.pixelSize festgelegt wird.
Text { text: "Hello"; fontSizeMode: Text.Fit; minimumPixelSize: 10; font.pixelSize: 72 }
Wenn der Text nicht in die Elementgrenzen mit der Mindestschriftgröße passt, wird der Text gemäß der Eigenschaft elide ausgelassen.
Wenn die Eigenschaft textFormat auf Text.RichText festgelegt ist, hat dies keinerlei Auswirkungen, da die Eigenschaft vollständig ignoriert wird. Wenn textFormat auf Text.StyledText gesetzt ist, wird die Eigenschaft respektiert, vorausgesetzt, es gibt keine Schriftgrößen-Tags innerhalb des Textes. Wenn Schriftgrößen-Tags vorhanden sind, wird die Eigenschaft trotzdem beachtet. Dies kann dazu führen, dass sie nicht vollständig mit der fontSizeMode-Einstellung übereinstimmt.
hoveredLink : string [read-only]
Diese Eigenschaft enthält die Link-Zeichenfolge, wenn der Benutzer den Mauszeiger über einen im Text eingebetteten Link bewegt. Der Link muss im Rich-Text- oder HTML-Format vorliegen und die Zeichenfolge hoveredLink ermöglicht den Zugriff auf den jeweiligen Link.
Siehe auch linkHovered und linkAt().
lineCount : int [read-only]
Gibt die Anzahl der im Textelement sichtbaren Zeilen zurück.
Diese Eigenschaft wird für Rich Text nicht unterstützt.
Siehe auch maximumLineCount.
lineHeight : real
Legt die Zeilenhöhe für den Text fest. Der Wert kann in Pixeln oder einem Multiplikator angegeben werden, abhängig von lineHeightMode.
Der Standardwert ist ein Multiplikator von 1,0. Die Zeilenhöhe muss ein positiver Wert sein.
lineHeightMode : enumeration
Diese Eigenschaft legt fest, wie die Linienhöhe angegeben wird. Die möglichen Werte sind:
| Konstant | Beschreibung |
|---|---|
Text.ProportionalHeight | (Standard) legt den Abstand proportional zur Zeile fest (als Multiplikator). Zum Beispiel auf 2 gesetzt für doppelten Abstand. |
Text.FixedHeight | setzt die Zeilenhöhe auf eine feste Zeilenhöhe (in Pixeln). |
linkColor : color
Die Farbe der Links im Text.
Diese Eigenschaft funktioniert mit dem StyledText textFormat, aber nicht mit RichText. Die Farbe von Links in RichText kann durch Einfügen von CSS-Style-Tags in den Text festgelegt werden.
maximumLineCount : int
Legen Sie diese Eigenschaft fest, um die Anzahl der Zeilen zu begrenzen, die im Textelement angezeigt werden sollen. Wenn elide auf Text.ElideRight gesetzt ist, wird der Text entsprechend elidiert. Standardmäßig ist dies der Wert der größtmöglichen Ganzzahl.
Diese Eigenschaft wird für Rich Text nicht unterstützt.
Siehe auch lineCount und elide.
minimumPixelSize : int
Diese Eigenschaft gibt die minimale Schriftpixelgröße von Text an, der durch die Eigenschaft fontSizeMode skaliert wird.
Wenn fontSizeMode Text.FixedSize ist oder font.pixelSize -1 ist, wird diese Eigenschaft ignoriert.
minimumPointSize : int
Diese Eigenschaft gibt den minimalen Schriftpunkt size von Text an, der durch die Eigenschaft fontSizeMode skaliert wird.
Wenn fontSizeMode Text.FixedSize ist oder font.pointSize -1 ist, wird diese Eigenschaft ignoriert.
renderType : enumeration
Überschreiben Sie den Standard-Rendering-Typ für diese Komponente.
Unterstützte Rendertypen sind:
| Konstant | Beschreibung |
|---|---|
Text.QtRendering | Text wird mit einem skalierbaren Abstandsfeld für jede Glyphe gerendert. |
Text.NativeRendering | Text wird mit einer plattformspezifischen Technik gerendert. |
Text.CurveRendering | Text wird mit einem Kurvenrasterer gerendert, der direkt auf der Grafikhardware läuft. (Eingeführt in Qt 6.7.0.) |
Wählen Sie Text.NativeRendering, wenn Sie es bevorzugen, dass der Text auf der Zielplattform nativ aussieht und Sie keine erweiterten Funktionen wie die Transformation des Textes benötigen. Die Verwendung solcher Funktionen in Kombination mit dem Rendering-Typ NativeRendering führt zu schlechten und manchmal pixeligen Ergebnissen.
Sowohl Text.QtRendering als auch Text.CurveRendering sind hardwarebeschleunigte Techniken. QtRendering ist die schnellere der beiden Techniken, verbraucht aber mehr Speicher und führt bei großen Formaten zu Rendering-Artefakten. CurveRendering sollte als Alternative in Betracht gezogen werden, wenn QtRendering keine guten visuellen Ergebnisse liefert oder wenn die Verringerung des Grafikspeicherverbrauchs eine Priorität ist.
Der Standard-Rendering-Typ wird durch QQuickWindow::textRenderType() bestimmt.
renderTypeQuality : int [since 6.0]
Überschreibt die Standardqualität des Rendering-Typs für diese Komponente. Dies ist eine Low-Level-Anpassung, die in den meisten Fällen ignoriert werden kann. Sie hat derzeit nur einen Effekt, wenn renderType Text.QtRendering ist.
Der Rasterungsalgorithmus, der von Text.QtRendering verwendet wird, kann bei großen Textgrößen Artefakte erzeugen, wie z.B. scharfe Ecken, die runder aussehen als sie sollten. Wenn dies ein Problem für bestimmte Textelemente ist, erhöhen Sie renderTypeQuality, um die Rendering-Qualität zu verbessern, auf Kosten des Speicherverbrauchs.
renderTypeQuality kann eine beliebige ganze Zahl über 0 oder einer der folgenden vordefinierten Werte sein
| Konstante | Beschreibung |
|---|---|
Text.DefaultRenderTypeQuality | -1 (Voreinstellung) |
Text.LowRenderTypeQuality | 26 |
Text.NormalRenderTypeQuality | 52 |
Text.HighRenderTypeQuality | 104 |
Text.VeryHighRenderTypeQuality | 208 |
Diese Eigenschaft wurde in Qt 6.0 eingeführt.
style : enumeration
Legen Sie einen zusätzlichen Textstil fest.
Unterstützte Textstile sind:
| Konstant | Beschreibung |
|---|---|
Text.Normal | - der Standard |
Text.Outline | |
Text.Raised | |
Text.Sunken | Row { Text { font.pointSize: 24; text: "Normal" } Text { font.pointSize: 24; text: "Raised"; style: Text.Raised; styleColor: "#AAAAAA" } Text { font.pointSize: 24; text: "Outline";style: Text.Outline; styleColor: "red" } Text { font.pointSize: 24; text: "Sunken"; style: Text.Sunken; styleColor: "#AAAAAA" } } |

styleColor : color
Definiert die Sekundärfarbe, die von Textstilen verwendet wird.
styleColor wird als Umrissfarbe für umrandeten Text und als Schattenfarbe für erhabenen oder vertieften Text verwendet. Wenn kein Stil festgelegt wurde, wird sie überhaupt nicht verwendet.
Text { font.pointSize: 18; text: "hello"; style: Text.Raised; styleColor: "gray" }
Siehe auch style.
text : string
Der anzuzeigende Text. Text unterstützt sowohl einfache als auch Rich-Text-Strings.
Das Element versucht automatisch zu bestimmen, ob der Text als gestalteter Text behandelt werden soll. Diese Feststellung wird mit Qt::mightBeRichText() getroffen. Die Erkennung von Markdown erfolgt jedoch nicht automatisch.
Siehe auch textFormat.
textFormat : enumeration
Die Art und Weise, wie die Eigenschaft text angezeigt werden soll.
Unterstützte Textformate sind:
| Konstante | Beschreibung |
|---|---|
Text.AutoText | (Standard) wird durch die Heuristik Qt::mightBeRichText() erkannt |
Text.PlainText | alle Styling-Tags werden als reiner Text behandelt |
Text.StyledText | optimierter Basis-Rich-Text wie in HTML 3.2 |
Text.RichText | eine Untermenge von HTML 4 |
Text.MarkdownText | CommonMark plus die GitHub-Erweiterungen für Tabellen und Aufgabenlisten (seit 5.14) |
Wenn das Textformat Text.AutoText ist, bestimmt das Element Text automatisch, ob der Text als gestylter Text behandelt werden soll. Diese Entscheidung wird mit Qt::mightBeRichText() getroffen, das das Vorhandensein eines HTML-Tags in der ersten Textzeile erkennen kann, aber Markdown nicht von einfachem Text unterscheiden kann.
Text.StyledText ist ein optimiertes Format, das einige grundlegende Textauszeichnungen im Stil von HTML 3.2 unterstützt:
<b></b> - bold <del></del> - strike out (removed content) <s></s> - strike out (no longer accurate or no longer relevant content) <strong></strong> - bold <i></i> - italic <br> - new line <p> - paragraph <u> - underlined text <font color="color_name" size="1-7"></font> <h1> to <h6> - headers <a href=""> - anchor <img src="" align="top,middle,bottom" width="" height=""> - inline images <ol type="">, <ul type=""> and <li> - ordered and unordered lists <pre></pre> - preformatted All entities
Text.StyledText Der Parser ist streng und verlangt, dass Tags korrekt verschachtelt werden.
Column { Text { font.pointSize: 24 text: "<b>Hello</b> <i>World!</i>" } Text { font.pointSize: 24 textFormat: Text.RichText text: "<b>Hello</b> <i>World!</i>" } Text { font.pointSize: 24 textFormat: Text.PlainText text: "<b>Hello</b> <i>World!</i>" } Text { font.pointSize: 24 textFormat: Text.MarkdownText text: "**Hello** *World!*" } } |
|
Text.RichText unterstützt eine größere Teilmenge von HTML 4, wie auf der Seite Supported HTML Subset beschrieben. Sie sollten stattdessen lieber Text.PlainText, Text.StyledText oder Text.MarkdownText verwenden, da diese eine bessere Leistung bieten.
Hinweis: Bei Text.MarkdownText und der unterstützten HTML-Untermenge werden einige dekorative Elemente nicht so gerendert, wie sie in einem Webbrowser aussehen würden:
- Code-Blöcke verwenden die default monospace font, aber ohne umgebende Highlight-Box
- Blockanführungszeichen werden eingerückt, aber es gibt keine vertikale Linie neben dem Zitat
Warnung: Wenn das Textformat ein anderes Format als Text.PlainText ist, unterstützt es Rich-Text-Funktionen wie das Ändern von Farben, Schriftarten und Inline-Bildern. Dazu gehört auch das Laden von Bildern aus der Ferne über das Netz. Daher sollte bei der Anzeige von benutzergesteuerten, nicht vertrauenswürdigen Inhalten das textFormat entweder explizit auf Text.PlainText gesetzt werden, oder der Inhalt sollte von unerwünschten Tags befreit werden.
truncated : bool [read-only]
Gibt true zurück, wenn der Text aufgrund von maximumLineCount oder elide abgeschnitten wurde.
Diese Eigenschaft wird für Rich Text nicht unterstützt.
Siehe auch maximumLineCount und elide.
wrapMode : enumeration
Setzen Sie diese Eigenschaft, um den Text auf die Breite des Textelements umzubrechen. Der Text wird nur umbrochen, wenn eine explizite Breite festgelegt wurde. wrapMode kann einer der folgenden Werte sein:
| Konstant | Beschreibung |
|---|---|
Text.NoWrap | (Standard) Es wird kein Umbruch durchgeführt. Wenn der Text nicht genügend Zeilenumbrüche enthält, überschreitet contentWidth die eingestellte Breite. |
Text.WordWrap | Der Umbruch wird nur an Wortgrenzen durchgeführt. Wenn ein Wort zu lang ist, überschreitet contentWidth eine festgelegte Breite. |
Text.WrapAnywhere | Der Umbruch erfolgt an jeder beliebigen Stelle einer Zeile, auch wenn er in der Mitte eines Wortes erfolgt. |
Text.Wrap | Wenn möglich, erfolgt der Umbruch an einer Wortgrenze, andernfalls an der entsprechenden Stelle der Zeile, auch in der Mitte eines Wortes. |
Signal-Dokumentation
lineLaidOut(object line)
Dieses Signal wird für jede Textzeile ausgegeben, die während des Layoutvorgangs im Klartext- oder gestylten Textmodus ausgegeben wird. Im Rich-Text-Modus wird es nicht ausgegeben. Das angegebene line Objekt liefert weitere Details über die Zeile, die gerade ausgelegt wird.
Dies bietet die Möglichkeit, eine Zeile während des Layoutens zu positionieren und in der Größe zu verändern. Es kann zum Beispiel verwendet werden, um Spalten zu erstellen oder Text um Objekte herum anzuordnen.
Die Eigenschaften des angegebenen line Objekts sind:
| Name der Eigenschaft | Beschreibung |
|---|---|
| number (nur Lesezugriff) | Zeilennummer, beginnt mit Null. |
| x | Gibt die x-Position der Zeile innerhalb des Elements Text an. |
| y | Gibt die y-Position der Zeile innerhalb des Elements Text an. |
| Breite | Legt die Breite der Zeile fest. |
| Höhe | Legt die Höhe der Zeile fest. |
| implicitWidth (nur Lesezugriff) | Die Breite, die die Zeile aufgrund ihres Inhalts natürlicherweise einnehmen würde, ohne Berücksichtigung etwaiger Änderungen an der Breite. |
| isLast (nur Lesezugriff) | Gibt an, ob die Zeile die letzte ist. Diese Eigenschaft kann sich ändern, wenn Sie die Eigenschaft width auf einen anderen Wert setzen. |
So werden zum Beispiel die ersten 5 Zeilen eines Textelements um 100 Pixel nach rechts verschoben:
onLineLaidOut: (line)=> { if (line.number < 5) { line.x = line.x + 100 line.width = line.width - 100 } }
Mit dem folgenden Beispiel können Sie ein Element am Ende der letzten Zeile positionieren:
onLineLaidOut: (line)=> { if (line.isLast) { lastLineMarker.x = line.x + line.implicitWidth lastLineMarker.y = line.y + (line.height - lastLineMarker.height) / 2 } }
Hinweis: Der entsprechende Handler ist onLineLaidOut.
linkActivated(string link)
Dieses Signal wird ausgegeben, wenn der Benutzer auf einen in den Text eingebetteten Link klickt. Der Link muss im Rich-Text- oder HTML-Format vorliegen und die Zeichenfolge link ermöglicht den Zugriff auf den jeweiligen Link.
Text { textFormat: Text.RichText text: "See the <a href=\"http://qt-project.org\">Qt Project website</a>." onLinkActivated: (link)=> console.log(link + " link activated") }
Im Beispielcode wird der Text "See the Qt Project website" angezeigt.
Wenn Sie auf den markierten Link klicken, wird http://qt-project.org link activated auf der Konsole ausgegeben.
Hinweis: Der entsprechende Handler ist onLinkActivated.
linkHovered(string link)
Dieses Signal wird ausgegeben, wenn der Benutzer den Mauszeiger über einen im Text eingebetteten Link bewegt. Der Link muss im Rich-Text- oder HTML-Format vorliegen und die Zeichenfolge link ermöglicht den Zugriff auf den jeweiligen Link.
Hinweis: Der entsprechende Handler ist onLinkHovered.
Siehe auch hoveredLink und linkAt().
Dokumentation der Methode
void forceLayout()
Löst ein neues Layout des angezeigten Textes aus.
string linkAt(real x, real y)
Gibt den Link-String am Punkt x, y in Inhaltskoordinaten zurück oder einen leeren String, wenn an diesem Punkt kein Link existiert.
Siehe auch hoveredLink.
© 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.
