Auf dieser Seite

Text QML Type

Legt fest, wie formatierter Text zu einer Szene hinzugefügt wird. Mehr...

Import Statement: import QtQuick
Inherits:

Item

Inherited By:

Label

Eigenschaften

Signale

Methoden

Ausführliche Beschreibung

Textelemente können sowohl einfachen Text als auch Rich-Text anzeigen. Sie können beispielsweise roten Text mit einer bestimmten Schriftart und Schriftgröße wie folgt definieren:

Text {
    text: "Hello World!"
    font.family: "Helvetica"
    font.pointSize: 24
    color: "red"
}

Verwenden Sie HTML-ähnliche Markups oder Markdown, um Rich-Text zu definieren:

Text {
    text: "<b>Hello</b> <i>World!</i>"
}
Text {
    text: "**Hello** *World!*"
}

Markdown-Formatierung, um „Hello“ fett und „World“ kursiv darzustellen

Wenn Höhe und Breite nicht explizit festgelegt sind, versucht „Text“, den benötigten Platz zu ermitteln und ihn entsprechend anzupassen. Sofern „ wrapMode “ nicht festgelegt ist, wird stets die Breite gegenüber der Höhe bevorzugt (der gesamte Text wird in einer einzigen Zeile angeordnet).

Um eine einzelne Zeile Klartext an eine festgelegte Breite anzupassen, können Sie die Eigenschaft „ elide “ verwenden.

Hinweis: Die unterstützte HTML-Teilmenge ist begrenzt. Sie ist nicht darauf ausgelegt, dem HTML-Standard zu entsprechen, sondern dient lediglich als Erleichterung beim Anwenden von Stilen auf Textbeschriftungen. Wenn der Text zudem HTML- img -Tags enthält, die externe Bilder laden, wird der Text neu geladen.

„Text“ stellt schreibgeschützten Text bereit. Informationen zu bearbeitbarem Text finden Sie unter „ TextEdit “.

Warnung: Standardmäßig erkennt die Text-Komponente den „ textFormat “ anhand des Inhalts unter text. Wird festgestellt, dass es sich entweder um Text.StyledText oder Text.MarkdownText handelt, unterstützt die Text-Komponente Rich-Text-Funktionen wie das Ändern von Farben, Schriftarten und Inline-Bildern. Diese Funktionalität umfasst das Laden von Bildern aus der Ferne über das Netzwerk. Bei der Anzeige von benutzergesteuerten, nicht vertrauenswürdigen Inhalten sollte daher entweder der Parameter „ textFormat “ explizit auf „ Text.PlainText “ gesetzt werden oder die Inhalte sollten von unerwünschten Tags bereinigt werden.

Siehe auch das Beispiel „Schriftarten“.

Dokumentation zu den Eigenschaften

advance : size [read-only]

Der Abstand in Pixeln vom Grundlinienursprung des ersten Zeichens des Textelements zum Grundlinienursprung des ersten Zeichens eines Textelements, das im Textfluss unmittelbar darauf folgt.

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 für den Text Antialiasing angewendet werden soll oder nicht. Nur Text mit dem renderType -Wert „Text.NativeRendering“ kann Antialiasing deaktivieren.

Die Standardeinstellung ist „ true “.

baseUrl : url

Diese Eigenschaft legt eine Basis-URL fest, die zur Auflösung relativer URLs innerhalb des Textes verwendet wird.

URLs werden so aufgelöst, dass sie sich im selben Verzeichnis wie das Ziel der Basis-URL befinden, d. h., jeder Teil des Pfads nach dem letzten „/“ wird ignoriert.

Basis-URLRelative URLAufgelöste URL
http://qt-project.org/images/logo.pnghttp://qt-project.org/images/logo.png
http://qt-project.org/index.htmlimages/logo.pnghttp://qt-project.org/images/logo.png
http://qt-project.org/contentimages/logo.pnghttp://qt-project.org/content/images/logo.png
http://qt-project.org/content/images/logo.pnghttp://qt-project.org/content/images/logo.png
http://qt-project.org/content/index.htmlimages/logo.pnghttp://qt-project.org/content/images/logo.png
http://qt-project.org/content/index.html../images/logo.pnghttp://qt-project.org/images/logo.png
http://qt-project.org/content/index.html/images/logo.pnghttp://qt-project.org/images/logo.png

Der Standardwert ist die URL der QML-Datei, die das Text-Element instanziiert.

bottomPadding : real

leftPadding : real

padding : real

rightPadding : real

topPadding : real

Diese Eigenschaften legen den Abstand um den Inhalt herum fest. Dieser Abstand wird zusätzlich zu „ contentWidth “ und „ contentHeight “ reserviert.

clip : bool

Diese Eigenschaft gilt unabhängig davon, ob der Text abgeschnitten wird.

Beachten Sie, dass der Text abrupt abgeschnitten wird, wenn er nicht in das Begrenzungsrechteck passt.

Wenn Sie potenziell langen Text auf begrenztem Raum anzeigen möchten, sollten Sie stattdessen wahrscheinlich „ elide “ verwenden.

color : color

Die Textfarbe.

Ein Beispiel für grünen Text, der mithilfe der Hexadezimalschreibweise definiert wurde:

Text {
    color: "#00FF00"
    text: "green text"
}

Ein Beispiel für stahlblauen Text, der mithilfe eines SVG-Farbnamens definiert wurde:

Text {
    color: "steelblue"
    text: "blue text"
}

contentHeight : real [read-only]

Gibt die Höhe des Textes zurück, einschließlich des Teils, der über die festgelegte Höhe hinausragt, weil der Text länger ist, als in die festgelegte Höhe passt.

contentWidth : real [read-only]

Gibt die Breite des Textes zurück, einschließlich der Breite, die über die aufgrund unzureichender Zeilenumbrüche abgedeckte Breite hinausgeht, sofern „WrapMode“ gesetzt 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 oben ausgerichtet. Die horizontale Ausrichtung folgt der natürlichen Ausrichtung des Textes; so wird beispielsweise Text, der von links nach rechts gelesen wird, linksbündig 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 häufigen Fall sind alle Ausrichtungen gleichwertig. Wenn Sie möchten, dass der Text beispielsweise 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 anpassen.

Bei Verwendung der angehängten Eigenschaft „ LayoutMirroring::enabled “ zur Spiegelung von Anwendungslayouts wird auch die horizontale Ausrichtung des Textes gespiegelt. Die Eigenschaft „ horizontalAlignment “ bleibt jedoch unverändert. Um die tatsächliche horizontale Ausrichtung von „Text“ abzufragen, verwenden Sie die schreibgeschützte Eigenschaft „ effectiveHorizontalAlignment “.

elide : enumeration

Setzen Sie diese Eigenschaft, um Teile des Textes so zu kürzen, dass er in die Breite des Text-Elements passt. Der Text wird nur dann gekürzt, wenn eine explizite Breite festgelegt wurde.

Diese Eigenschaft funktioniert mit den Formaten „ Text.PlainText “ und „ Text.StyledText “, kann jedoch nicht mit den Formaten „ Text.RichText “ oder „ Text.MarkdownText “ verwendet werden.

Die Textverkürzung kann wie folgt erfolgen:

KonstantBeschreibung
Text.ElideNone– die Standardeinstellung
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 dann gekürzt, wenn „ maximumLineCount “ oder „ height “ festgelegt wurde. Sind sowohl „ maximumLineCount “ als auch „ height “ festgelegt, gilt „ maximumLineCount “, es sei denn, die Zeilen passen nicht in die zulässige Höhe.

Wenn es sich bei dem Text um eine Zeichenkette mit mehreren Längen handelt und der Modus nicht „ Text.ElideNone “ ist, wird die erste Zeichenkette verwendet, die passt; andernfalls wird die letzte gekürzt.

Zeichenfolgen mit unterschiedlicher Länge werden von der längsten zur kürzesten geordnet und durch das Unicode-Zeichen „String-Terminator“ U009C getrennt (in QML wird dies mit "\u009C" oder "\x9C" geschrieben).

font.bold : bool

Legt fest, ob die Schrift fett formatiert ist.

font.capitalization : enumeration

Legt die Großschreibung des Textes fest.

KonstanteBeschreibung
Font.MixedCaseNormalfall: Es wird keine Änderung der Großschreibung vorgenommen
Font.AllUppercaseändert den darzustellenden Text in Großbuchstaben
Font.AllLowercaseDer Text wird in Kleinbuchstaben dargestellt
Font.SmallCapsbewirkt, dass der Text in Kapitälchen dargestellt wird
Font.CapitalizeDer Text wird so dargestellt, dass das erste Zeichen jedes Wortes großgeschrieben ist
Text { 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 aus, die dieses Zeichen enthält. Standardmäßig erfolgt dies zeichenweise.

Das bedeutet, dass in bestimmten seltenen Fällen viele verschiedene Schriftarten zur Darstellung einer Textzeichenfolge verwendet werden können, selbst wenn diese demselben Schriftsystem angehört. 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 sie kann optional einen Herstellerangabe enthalten, zum Beispiel „Helvetica [Cronyx]“. Wenn die Schriftfamilie von mehr als einem Hersteller angeboten wird und der Hersteller nicht angegeben ist, 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 von 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 Ligatur-Funktionen (liga, clig,

dlig, hlig) deaktiviert, wenn „ font.letterSpacing “ gesetzt ist – allerdings nur für Schriftsysteme, in denen Ligaturen rein kosmetischen Zwecken dienen. Bei Schriftsystemen, in denen Ligaturen erforderlich sind, bleiben die Funktionen in ihrem Standardzustand. Die mit ` font.features ` festgelegten Werte überschreiben das Standardverhalten. Wenn beispielsweise ` "kern" ` auf 1 gesetzt ist, 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.hintingPreference : enumeration

Legt die bevorzugte Hinting-Einstellung für den Text fest.

Dies ist ein Hinweis an das zugrunde liegende Text-Rendering-System, einen bestimmten Hinting-Grad 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.

KonstanteBeschreibung
Font.PreferDefaultHintingVerwendet den Standard-Hinting-Grad für die Zielplattform.
Font.PreferNoHintingWenn möglich, wird der Text ohne Hinting der Glyphenkonturen gerendert. Das Textlayout ist typografisch korrekt und verwendet dieselben Metriken wie beispielsweise beim Drucken.
Font.PreferVerticalHintingWenn möglich, wird der Text ohne horizontales Hinting gerendert, die Glyphen werden jedoch in vertikaler Richtung am Pixelraster ausgerichtet. Der Text erscheint auf Bildschirmen, deren Auflösung zu gering ist, um die Glyphen präzise darzustellen, schärfer. Da die horizontalen Metriken der Glyphen jedoch nicht hinted 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.PreferFullHintingRendern 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, werden die Positionen der Glyphen, Zeilenumbrüche und andere typografische Details nicht skaliert, was bedeutet, dass ein Textlayout auf Geräten mit unterschiedlichen Pixeldichten unterschiedlich aussehen kann.
Text { text: "Hello"; renderType: Text.NativeRendering; font.hintingPreference: Font.PreferVerticalHinting }

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 Pixelanzahl; 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 Werte „ ascent “, „ descent “ und „ leading “ der Schriftart liefern. 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, sofern das Flag „ USE_TYPO_METRICS “ nicht im Feld „fsSelection“ der Schriftart gesetzt ist. 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 Stilnamens wird die Groß-/Kleinschreibung nicht berücksichtigt. Wenn dieser festgelegt ist, wird die Schriftart anhand des Stilnamens zugeordnet und nicht anhand der Schriftart-Eigenschaften „ font.weight “, „ font.bold “ und „ font.italic “.

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 Achse „wght“ 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“ 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 einen 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

Die gewünschte Schriftstärke. Die angegebene Schriftstärke muss eine ganze Zahl zwischen 1 und 1000 sein oder einem der vordefinierten Werte entsprechen:

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

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 Pixelanzahl, während ein negativer Wert den Wortabstand entsprechend verringert.

fontInfo.bold : bool [read-only]

Der Fettdruckstatus der Schriftart, der für die aktuelle Schriftart und fontSizeMode ermittelt wurde. Dies trifft zu, wenn die Schriftstärke der ermittelten Schriftart „fett“ oder höher ist.

fontInfo.family : string [read-only]

Der Schriftfamilienname der Schriftart, die für die aktuelle Schriftart ermittelt wurde, sowie „ fontSizeMode “.

fontInfo.italic : bool [read-only]

Der Kursivstatus der Schriftartinformationen, die für die aktuelle Schriftart ermittelt wurden, sowie fontSizeMode.

fontInfo.pixelSize : int [read-only]

Die Pixelgröße der Schriftartinformationen, die für die aktuelle Schriftart ermittelt wurde, sowie fontSizeMode.

fontInfo.pointSize : real [read-only]

Die „pointSize“ der Schriftartinformationen, die für die aktuelle Schriftart ermittelt wurde, und „ fontSizeMode “.

fontInfo.styleName : string [read-only]

Der Stilname der Schriftartinformation, die für die aktuelle Schriftart ermittelt wurde, sowie „ fontSizeMode “.

fontInfo.weight : int [read-only]

Die Gewichtung der Schriftartinformationen, die für die aktuelle Schriftart ermittelt wurden, sowie „ fontSizeMode “.

fontSizeMode : enumeration

Diese Eigenschaft legt fest, wie die Schriftgröße des angezeigten Textes bestimmt wird. Die möglichen Werte sind:

KonstanteBeschreibung
Text.FixedSize(Standard) Es wird die durch „ font.pixelSize “ oder „ font.pointSize “ festgelegte Größe verwendet.
Text.HorizontalFitEs wird die größte Größe bis zur angegebenen Größe verwendet, die ohne Zeilenumbruch in die Breite des Elements passt.
Text.VerticalFitEs wird die größte Größe bis zur angegebenen Größe verwendet, die in die Höhe des Elements passt.
Text.FitEs wird die größte Größe bis zur angegebenen Größe verwendet, die in die Breite und Höhe des Elements passt.

Die Schriftgröße des angepassten Textes unterliegt einer unteren Grenze, die durch die Eigenschaft „ minimumPointSize “ oder „ minimumPixelSize “ festgelegt wird, sowie einer oberen Grenze, die entweder durch die Eigenschaft „ font.pointSize “ oder „ font.pixelSize “ festgelegt wird.

Text { text: "Hello"; fontSizeMode: Text.Fit; minimumPixelSize: 10; font.pixelSize: 72 }

Wenn der Text bei der minimalen Schriftgröße nicht in die Begrenzungen des Elements passt, wird der Text gemäß der Eigenschaft „ elide “ gekürzt.

Ist die Eigenschaft „ textFormat “ auf „ Text.RichText “ gesetzt, hat dies keinerlei Auswirkung, da die Eigenschaft vollständig ignoriert wird. Ist „ textFormat “ auf „ Text.StyledText “ gesetzt, wird die Eigenschaft berücksichtigt, sofern der Text keine Tags zur Schriftgröße enthält. Sind solche Tags vorhanden, werden diese von der Eigenschaft weiterhin berücksichtigt. Dies kann dazu führen, dass die Eigenschaft nicht vollständig mit der Einstellung „fontSizeMode“ übereinstimmt.

Diese Eigenschaft enthält die Link-Zeichenkette, wenn der Mauszeiger über einen im Text eingebetteten Link geführt wird. Der Link muss im Rich-Text- oder HTML-Format vorliegen, und die Zeichenkette „ 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 je nach lineHeightMode in Pixeln oder als Multiplikator angegeben werden.

Der Standardwert ist ein Multiplikator von 1,0. Die Zeilenhöhe muss ein positiver Wert sein.

lineHeightMode : enumeration

Diese Eigenschaft legt fest, wie die Zeilenhöhe festgelegt wird. Die möglichen Werte sind:

KonstantBeschreibung
Text.ProportionalHeight(Standard) Legt den Abstand proportional zur Zeile fest (als Multiplikator). Beispielsweise wird der Wert auf 2 gesetzt, um einen doppelten Zeilenabstand zu erzielen.
Text.FixedHeightLegt die Zeilenhöhe auf einen festen Wert (in Pixeln) fest.

linkColor : color

Die Farbe der Links im Text.

Diese Eigenschaft funktioniert mit der „StyledText“- textFormat, jedoch nicht mit „RichText“. Die Linkfarbe in „RichText“ kann durch Einfügen von CSS-Stil-Tags in den Text festgelegt werden.

maximumLineCount : int

Legen Sie diese Eigenschaft fest, um die Anzahl der Zeilen zu begrenzen, die das Textelement anzeigt. Wenn „elide“ auf „Text.ElideRight“ gesetzt ist, wird der Text entsprechend gekürzt. Standardmäßig entspricht dies dem 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 legt die minimale Schriftgröße in Pixeln für Text fest, der mithilfe der Eigenschaft „ fontSizeMode “ skaliert wird.

Wenn „ fontSizeMode “ auf „Text.FixedSize“ gesetzt ist oder „ font.pixelSize “ den Wert -1 hat, wird diese Eigenschaft ignoriert.

minimumPointSize : int

Diese Eigenschaft legt die Mindestschriftpunktgröße „ size “ für Text fest, der anhand der Eigenschaft „ fontSizeMode “ skaliert wird.

Wenn der „ fontSizeMode “ den Wert „Text.FixedSize“ hat oder der „ font.pointSize “ den Wert -1 hat, wird diese Eigenschaft ignoriert.

renderType : enumeration

Den Standard-Rendering-Typ für diese Komponente überschreiben.

Unterstützte Darstellungsarten sind:

KonstantBeschreibung
Text.QtRenderingDer Text wird unter Verwendung eines skalierbaren Abstandsfelds für jedes Glyph gerendert.
Text.NativeRenderingDer Text wird mithilfe einer plattformspezifischen Technik gerendert.
Text.CurveRenderingDer Text wird mithilfe eines Kurvenrasterisierers gerendert, der direkt auf der Grafikhardware ausgeführt wird. (Eingeführt in Qt 6.7.0.)

Wählen Sie „ Text.NativeRendering “, wenn Sie möchten, dass der Text auf der Zielplattform nativ dargestellt wird, und 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 verpixelten Ergebnissen.

Sowohl „ Text.QtRendering “ als auch „ Text.CurveRendering “ sind hardwarebeschleunigte Verfahren. „ QtRendering “ ist das schnellere der beiden, verbraucht jedoch mehr Speicher und weist bei großen Abmessungen Darstellungsartefakte auf. „ CurveRendering “ sollte als Alternative in Betracht gezogen werden, wenn „ QtRendering “ keine guten visuellen Ergebnisse liefert oder wenn die Reduzierung des Grafikspeicherverbrauchs Priorität hat.

Der Standard-Rendering-Typ wird durch „ QQuickWindow::textRenderType()“ festgelegt.

renderTypeQuality : int [since 6.0]

Überschreiben Sie die Standardqualität des Rendering-Typs für diese Komponente. Hierbei handelt es sich um eine tiefgreifende Anpassung, die in den meisten Fällen ignoriert werden kann. Sie wirkt sich derzeit nur aus, wenn „ renderType “ auf „ Text.QtRendering “ gesetzt ist.

Der von `Text.QtRendering` verwendete Rasterisierungsalgorithmus kann bei großen Textgrößen zu Artefakten führen, beispielsweise dazu, dass scharfe Ecken runder erscheinen, als sie eigentlich sein sollten. Sollte dies bei bestimmten Textelementen ein Problem darstellen, erhöhen Sie den Wert von ` renderTypeQuality `, um die Darstellungsqualität zu verbessern – allerdings auf Kosten des Speicherverbrauchs.

Der Wert für „ renderTypeQuality “ kann eine beliebige ganze Zahl größer als 0 oder einer der folgenden vordefinierten Werte sein

KonstanteBeschreibung
Text.DefaultRenderTypeQuality-1 (Standard)
Text.LowRenderTypeQuality26
Text.NormalRenderTypeQuality52
Text.HighRenderTypeQuality104
Text.VeryHighRenderTypeQuality208

Diese Eigenschaft wurde in Qt 6.0 eingeführt.

style : enumeration

Legen Sie einen zusätzlichen Textstil fest.

Unterstützte Textstile sind:

KonstantBeschreibung
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" }
}

Vier Textstile: Normal, Erhöht, Umriss mit rotem Rand und Vertieft

styleColor : color

Legt die Sekundärfarbe fest, 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. Der Text unterstützt sowohl einfachen Text als auch Rich-Text-Zeichenfolgen.

Das Element versucht automatisch zu ermitteln, ob der Text als formatierter Text behandelt werden soll. Diese Ermittlung erfolgt mithilfe von ` Qt::mightBeRichText()`. 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:

KonstanteBeschreibung
Text.AutoText(Standard) wird über die Heuristik „ Qt::mightBeRichText()“ ermittelt
Text.PlainTextAlle Formatierungs-Tags werden als reiner Text behandelt
Text.StyledTextOptimierter einfacher Rich Text gemäß HTML 3.2
Text.RichTexteine Teilmenge von HTML 4
Text.MarkdownTextCommonMark plus die GitHub-Erweiterungen für Tabellen und Aufgabenlisten (seit 5.14)

Wenn das Textformat „ Text.AutoText “ ist, ermittelt das Element „Text“ automatisch, ob der Text als formatierter Text behandelt werden soll. Diese Ermittlung erfolgt mithilfe von ` Qt::mightBeRichText()`, das das Vorhandensein eines HTML-Tags in der ersten Textzeile erkennen kann, jedoch nicht zwischen Markdown und reinem Text unterscheiden kann.

Text.StyledText ist ein optimiertes Format, das einige grundlegende Markups zur Textformatierung 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 erfordert eine korrekte Verschachtelung der Tags.

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!*"
    }
}

Beispiele für die Darstellung verschiedener Textformate: AutoText, HTML, reiner Text und Markdown

Text.RichText unterstützt eine größere Teilmenge von HTML 4, wie auf der Seite „Unterstützte HTML-Teilmengen“ 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-Teilmenge werden einige dekorative Elemente nicht so dargestellt, wie sie in einem Webbrowser erscheinen würden:

  • Code-Blöcke verwenden den default monospace font, jedoch ohne umgebenden Hervorhebungsrahmen
  • Blockzitate sind eingerückt, es gibt jedoch keine vertikale Linie neben dem Zitat

Warnung: Wenn das Textformat ein anderes Format als „ Text.PlainText “ ist, werden Rich-Text-Funktionen wie das Ändern von Farben, Schriftarten und Inline-Bildern unterstützt. Dazu gehört auch das Laden von Bildern über das Netzwerk. Bei der Anzeige von benutzergesteuerten, nicht vertrauenswürdigen Inhalten sollte das „textFormat“ daher entweder explizit auf „ Text.PlainText “ gesetzt werden oder die Inhalte sollten von unerwünschten Tags bereinigt 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 an die Breite des Text-Elements anzupassen. Der Text wird nur umgebrochen, wenn eine explizite Breite festgelegt wurde. „wrapMode“ kann einen der folgenden Werte annehmen:

KonstantBeschreibung
Text.NoWrap(Standard) Es erfolgt kein Zeilenumbruch. Wenn der Text nicht genügend Zeilenumbrüche enthält, überschreitet „ contentWidth “ die festgelegte Breite.
Text.WordWrapDer Zeilenumbruch erfolgt ausschließlich an Wortgrenzen. Ist ein Wort zu lang, überschreitet „ contentWidth “ die festgelegte Breite.
Text.WrapAnywhereDer Zeilenumbruch erfolgt an einer beliebigen Stelle in einer Zeile, auch wenn diese mitten in einem Wort liegt.
Text.WrapWenn möglich, erfolgt der Zeilenumbruch an einer Wortgrenze; andernfalls erfolgt er an der entsprechenden Stelle in der Zeile, auch mitten in einem Wort.

Signal-Dokumentation

lineLaidOut(object line)

Dieses Signal wird für jede Textzeile ausgegeben, die während des Layoutvorgangs im Modus „Klartext“ oder „Formatierter Text“ gesetzt wird. Im Modus „Rich Text“ wird es nicht ausgegeben. Das angegebene „ line “-Objekt liefert weitere Details zu der Zeile, die gerade gesetzt wird.

Dies bietet die Möglichkeit, eine Zeile während des Layoutvorgangs zu positionieren und ihre Größe anzupassen. Es kann beispielsweise verwendet werden, um Spalten zu erstellen oder Text um Objekte herum zu layouten.

Die Eigenschaften des angegebenen „ line “-Objekts lauten wie folgt:

EigenschaftsnameBeschreibung
number (schreibgeschützt)Zeilennummer, beginnend bei Null.
xGibt die x-Position der Zeile innerhalb des Elements „ Text “ an.
yGibt die y-Position der Zeile innerhalb des Elements „ Text “ an.
BreiteGibt die Breite der Linie an.
heightGibt die Höhe der Zeile an.
implicitWidth (schreibgeschützt)Die Breite, die die Zeile aufgrund ihres Inhalts normalerweise einnehmen würde, ohne Berücksichtigung etwaiger Änderungen an der Breite.
isLast (schreibgeschützt)Gibt an, ob es sich um die letzte Zeile handelt. Diese Eigenschaft kann sich ändern, wenn Sie die Eigenschaft „width“ auf einen anderen Wert setzen.

Beispiel: Damit werden die ersten 5 Zeilen eines Text-Elements 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 lautet „ onLineLaidOut “.

linkActivated(string link)

Dieses Signal wird ausgelöst, wenn der Benutzer auf einen im 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")
    }

Der Beispielcode zeigt den Text „Siehe die Qt-Projekt-Website.“ an.

Ein Klick auf den hervorgehobenen Link gibt „ http://qt-project.org link activated “ auf der Konsole aus.

Hinweis: Der entsprechende Handler lautet „ onLinkActivated “.

linkHovered(string link)

Dieses Signal wird ausgelöst, wenn der Benutzer mit der Maus über einen im Text eingebetteten Link fährt. 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 lautet „ onLinkHovered “.

Siehe auch „ hoveredLink “ und „ linkAt()“.

Methodendokumentation

void forceLayout()

Löst eine Neuanordnung des angezeigten Textes aus.

string linkAt(real x, real y)

Gibt die Link-Zeichenkette an der Position „ x “ („ y “ in Inhaltskoordinaten) zurück oder eine leere Zeichenkette, falls an dieser Stelle kein Link vorhanden ist.

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.