QFont Class

Die Klasse QFont spezifiziert eine Abfrage für eine Schriftart, die zum Zeichnen von Text verwendet wird. Mehr...

Kopfzeile: #include <QFont>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

Hinweis: Alle Funktionen in dieser Klasse sind reentrant.

Öffentliche Typen

(since 6.7) struct Tag
enum Capitalization { MixedCase, AllUppercase, AllLowercase, SmallCaps, Capitalize }
enum HintingPreference { PreferDefaultHinting, PreferNoHinting, PreferVerticalHinting, PreferFullHinting }
enum SpacingType { PercentageSpacing, AbsoluteSpacing }
enum Stretch { AnyStretch, UltraCondensed, ExtraCondensed, Condensed, SemiCondensed, …, UltraExpanded }
enum Style { StyleNormal, StyleItalic, StyleOblique }
enum StyleHint { AnyStyle, SansSerif, Helvetica, Serif, Times, …, System }
enum StyleStrategy { PreferDefault, PreferBitmap, PreferDevice, PreferOutline, ForceOutline, …, PreferQuality }
enum Weight { Thin, ExtraLight, Light, Normal, Medium, …, Black }

Öffentliche Funktionen

QFont()
QFont(const QFont &font, const QPaintDevice *pd)
QFont(const QString &family, int pointSize = -1, int weight = -1, bool italic = false)
QFont(const QStringList &families, int pointSize = -1, int weight = -1, bool italic = false)
QFont(const QFont &font)
~QFont()
bool bold() const
QFont::Capitalization capitalization() const
(since 6.7) void clearFeatures()
(since 6.7) void clearVariableAxes()
QString defaultFamily() const
bool exactMatch() const
QStringList families() const
QString family() const
(since 6.7) QList<QFont::Tag> featureTags() const
(since 6.7) quint32 featureValue(QFont::Tag tag) const
bool fixedPitch() const
bool fromString(const QString &descrip)
QFont::HintingPreference hintingPreference() const
bool isCopyOf(const QFont &f) const
(since 6.7) bool isFeatureSet(QFont::Tag tag) const
(since 6.7) bool isVariableAxisSet(QFont::Tag tag) const
bool italic() const
bool kerning() const
QString key() const
qreal letterSpacing() const
QFont::SpacingType letterSpacingType() const
bool overline() const
int pixelSize() const
int pointSize() const
qreal pointSizeF() const
QFont resolve(const QFont &other) const
void setBold(bool enable)
void setCapitalization(QFont::Capitalization caps)
void setFamilies(const QStringList &families)
void setFamily(const QString &family)
(since 6.7) void setFeature(QFont::Tag tag, quint32 value)
void setFixedPitch(bool enable)
void setHintingPreference(QFont::HintingPreference hintingPreference)
void setItalic(bool enable)
void setKerning(bool enable)
void setLetterSpacing(QFont::SpacingType type, qreal spacing)
void setOverline(bool enable)
void setPixelSize(int pixelSize)
void setPointSize(int pointSize)
void setPointSizeF(qreal pointSize)
void setStretch(int factor)
void setStrikeOut(bool enable)
void setStyle(QFont::Style style)
void setStyleHint(QFont::StyleHint hint, QFont::StyleStrategy strategy = PreferDefault)
void setStyleName(const QString &styleName)
void setStyleStrategy(QFont::StyleStrategy s)
void setUnderline(bool enable)
(since 6.7) void setVariableAxis(QFont::Tag tag, float value)
void setWeight(QFont::Weight weight)
void setWordSpacing(qreal spacing)
int stretch() const
bool strikeOut() const
QFont::Style style() const
QFont::StyleHint styleHint() const
QString styleName() const
QFont::StyleStrategy styleStrategy() const
void swap(QFont &other)
QString toString() const
bool underline() const
(since 6.7) void unsetFeature(QFont::Tag tag)
(since 6.7) void unsetVariableAxis(QFont::Tag tag)
(since 6.7) QList<QFont::Tag> variableAxisTags() const
(since 6.7) float variableAxisValue(QFont::Tag tag) const
QFont::Weight weight() const
qreal wordSpacing() const
QVariant operator QVariant() const
bool operator!=(const QFont &f) const
bool operator<(const QFont &f) const
QFont &operator=(QFont &&other)
QFont &operator=(const QFont &font)
bool operator==(const QFont &f) const

Statische öffentliche Mitglieder

void insertSubstitution(const QString &familyName, const QString &substituteName)
void insertSubstitutions(const QString &familyName, const QStringList &substituteNames)
void removeSubstitutions(const QString &familyName)
QString substitute(const QString &familyName)
QStringList substitutes(const QString &familyName)
QStringList substitutions()
size_t qHash(const QFont &key, size_t seed = 0)
QDataStream &operator<<(QDataStream &s, const QFont &font)
QDataStream &operator>>(QDataStream &s, QFont &font)

Detaillierte Beschreibung

QFont kann als eine Abfrage für eine oder mehrere Schriftarten auf dem System betrachtet werden.

Wenn Sie ein QFont-Objekt erstellen, geben Sie verschiedene Attribute an, die die Schriftart haben soll. Qt wird die Schriftart mit den angegebenen Attributen verwenden, oder wenn keine passende Schriftart existiert, wird Qt die am besten passende installierte Schriftart verwenden. Die Attribute der tatsächlich verwendeten Schriftart können von einem QFontInfo Objekt abgerufen werden. Wenn das Fenstersystem eine exakte Übereinstimmung liefert, gibt exactMatch() true zurück. Verwenden Sie QFontMetricsF, um Messungen zu erhalten, z.B. die Pixellänge eines Strings mit QFontMetrics::width().

Attribute, die nicht spezifisch gesetzt sind, haben keinen Einfluss auf den Algorithmus zur Auswahl der Schriftart, stattdessen werden Standardwerte bevorzugt.

Um eine bestimmte physische Schriftart zu laden, die typischerweise durch eine einzelne Datei repräsentiert wird, verwenden Sie stattdessen QRawFont.

Beachten Sie, dass eine QGuiApplication Instanz vorhanden sein muss, bevor ein QFont verwendet werden kann. Sie können die Standardschriftart der Anwendung mit QGuiApplication::setFont() festlegen.

Wenn ein gewählter Font nicht alle darzustellenden Zeichen enthält, wird QFont versuchen, die Zeichen in den nächstgelegenen äquivalenten Fonts zu finden. Wenn QPainter ein Zeichen aus einer Schriftart zeichnet, meldet QFont, ob das Zeichen vorhanden ist oder nicht; ist dies nicht der Fall, zeichnet QPainter ein nicht ausgefülltes Quadrat.

Erstellen Sie QFonts wie folgt:

QFont serifFont("Times", 10, QFont::Bold);
QFont sansFont("Helvetica [Cronyx]", 12);

Die im Konstruktor gesetzten Attribute können auch später gesetzt werden, z.B. setFamily(), setPointSize(), setPointSizeF(), setWeight() und setItalic(). Die übrigen Attribute müssen nach der Konstruktion gesetzt werden, z. B. setBold(), setUnderline(), setOverline(), setStrikeOut() und setFixedPitch(). QFontInfo -Objekte sollten erstellt werden , nachdem die Attribute der Schriftart gesetzt worden sind. Ein QFontInfo -Objekt wird sich nicht ändern, auch wenn Sie die Attribute der Schriftart ändern. Die entsprechenden "get"-Funktionen, z. B. family(), pointSize() usw., geben die Werte zurück, die gesetzt wurden, auch wenn die verwendeten Werte unterschiedlich sein können. Die tatsächlichen Werte sind über ein QFontInfo Objekt verfügbar.

Wenn die gewünschte Schriftfamilie nicht verfügbar ist, können Sie font matching algorithm beeinflussen, indem Sie mit setStyleHint() eine bestimmte QFont::StyleHint und QFont::StyleStrategy auswählen. Die Standardfamilie (die dem aktuellen Style-Hinweis entspricht) wird von defaultFamily() zurückgegeben.

Mit insertSubstitution() und insertSubstitutions() können Sie Ersetzungen für Schriftfamiliennamen angeben. Ersetzungen können mit removeSubstitutions() wieder entfernt werden. Verwenden Sie substitute(), um den ersten Ersatz für eine Familie zu erhalten, oder den Familiennamen selbst, wenn er keinen Ersatz hat. Verwenden Sie substitutes(), um eine Liste der Ersetzungen einer Familie abzurufen (die leer sein kann). Nachdem Sie eine Schriftart ersetzt haben, müssen Sie die Aktualisierung der Schriftart auslösen, indem Sie alle QFont-Objekte zerstören und neu erstellen.

Jeder QFont hat eine key(), die Sie z.B. als Schlüssel in einem Cache oder Wörterbuch verwenden können. Wenn Sie die Schriftpräferenzen eines Benutzers speichern wollen, können Sie QSettings verwenden, die Schriftinformationen mit toString() schreiben und mit fromString() zurücklesen. Die Funktionen operator<<() und operator>>() sind ebenfalls verfügbar, arbeiten aber mit einem Datenstrom.

Es ist möglich, die Höhe der auf dem Bildschirm angezeigten Zeichen mit setPixelSize() auf eine bestimmte Anzahl von Pixeln zu setzen; die Verwendung von setPointSize() hat jedoch einen ähnlichen Effekt und bietet Geräteunabhängigkeit.

Das Laden von Schriftarten kann teuer sein, besonders unter X11. QFont enthält umfangreiche Optimierungen, um das Kopieren von QFont-Objekten schnell zu machen und die Ergebnisse der langsamen Fenstersystemfunktionen, von denen es abhängt, zwischenzuspeichern.

Der Algorithmus zum Abgleich von Schriftarten funktioniert wie folgt:

  1. Es wird nach den angegebenen Schriftfamilien (gesetzt durch setFamilies()) gesucht.
  2. Falls nicht, wird eine Ersatzschriftart ausgewählt, die das Schriftsystem unterstützt. Der Algorithmus für die Schriftartanpassung versucht, die beste Übereinstimmung für alle in QFont festgelegten Eigenschaften zu finden. Wie dies geschieht, ist von Plattform zu Plattform unterschiedlich.
  3. Wenn es auf dem System keine Schriftart gibt, die den Text unterstützt, werden an ihrer Stelle spezielle Felder für "fehlende Zeichen" angezeigt.

Hinweis: Wenn die ausgewählte Schriftart zwar das Schriftsystem im Allgemeinen unterstützt, aber Glyphen für ein oder mehrere bestimmte Zeichen fehlen, dann versucht Qt, eine Ersatzschriftart für dieses oder diese bestimmten Zeichen zu finden. Diese Funktion kann mit QFont::NoFontMerging style strategy deaktiviert werden.

Unter Windows wird eine Anfrage nach der Schriftart "Courier" automatisch in "Courier New" geändert, eine verbesserte Version von Courier, die eine glatte Skalierung ermöglicht. Die ältere Bitmap-Schriftart "Courier" kann durch Einstellen der Stilstrategie PreferBitmap ausgewählt werden (siehe setStyleStrategy()).

Sobald eine Schriftart gefunden ist, werden die übrigen Attribute in der Reihenfolge ihrer Priorität abgeglichen:

  1. fixedPitch()
  2. pointSize() (siehe unten)
  3. weight()
  4. style()

Wenn Sie eine Schriftart haben, die mit der Familie übereinstimmt, auch wenn keines der anderen Attribute übereinstimmt, wird diese Schriftart einer Schriftart vorgezogen, die mit der Familie nicht übereinstimmt, aber mit den anderen Attributen übereinstimmt. Das liegt daran, dass die Schriftfamilie das wichtigste Suchkriterium ist.

Die Punktgröße wird als übereinstimmend definiert, wenn sie innerhalb von 20 % der gewünschten Punktgröße liegt. Wenn mehrere Schriftarten übereinstimmen und sich nur durch die Punktgröße unterscheiden, wird die Schriftart gewählt, die der gewünschten Punktgröße am nächsten kommt.

Die tatsächliche Familie, die Schriftgröße, das Gewicht und andere Schriftattribute, die zum Zeichnen von Text verwendet werden, hängen davon ab, was für die gewählte Familie im Fenstersystem verfügbar ist. Ein QFontInfo Objekt kann verwendet werden, um die tatsächlichen Werte für das Zeichnen des Textes zu bestimmen.

Beispiele:

QFont f("Helvetica");

Wenn Sie sowohl eine Adobe- als auch eine Cronyx-Helvetica haben, könnten Sie eines von beiden erhalten.

QFont f("Helvetica [Cronyx]");

Sie können die gewünschte Foundry im Familiennamen angeben. Die Schriftart f im obigen Beispiel wird auf "Helvetica [Cronyx]" gesetzt.

Um die Attribute der tatsächlich im Fenstersystem verwendeten Schriftart zu bestimmen, verwenden Sie ein QFontInfo Objekt, z.B.

QFontInfo info(f1);
QString family = info.family();

Um die Metrik der Schriftart zu ermitteln, verwenden Sie ein QFontMetrics Objekt, z.B.

QFontMetrics fm(f1);
int textWidthInPixels = fm.horizontalAdvance("How many pixels wide is this text?");
int textHeightInPixels = fm.height();

Weitere allgemeine Informationen über Schriftarten finden Sie in der comp.fonts FAQ. Informationen zu Kodierungen finden Sie auf der UTR17-Seite.

Siehe auch QFontMetrics, QFontInfo, und QFontDatabase.

Dokumentation der Mitgliedsarten

enum QFont::Capitalization

Rendering-Option für Text, für den diese Schrift gilt.

KonstanteWertBeschreibung
QFont::MixedCase0Dies ist die normale Textwiedergabeoption, bei der keine Änderung der Großschreibung vorgenommen wird.
QFont::AllUppercase1Damit wird der Text in Großbuchstaben dargestellt.
QFont::AllLowercase2Der Text wird in Kleinbuchstaben wiedergegeben.
QFont::SmallCaps3Damit wird der Text in Kapitälchen dargestellt.
QFont::Capitalize4Der Text wird so geändert, dass das erste Zeichen eines jeden Wortes ein Großbuchstabe ist.

enum QFont::HintingPreference

Diese Aufzählung beschreibt die verschiedenen Stufen der Andeutung, die auf Glyphen angewendet werden können, um die Lesbarkeit auf Bildschirmen zu verbessern, wo dies aufgrund der Pixeldichte erforderlich ist.

KonstanteWertBeschreibung
QFont::PreferDefaultHinting0Verwendet die Standard-Hinting-Stufe für die Zielplattform.
QFont::PreferNoHinting1Wenn möglich, rendern Sie Text, ohne die Umrisse der Glyphen anzudeuten. Das Textlayout ist typografisch korrekt und skalierbar, wobei dieselben Metriken verwendet werden, die z. B. beim Drucken verwendet werden.
QFont::PreferVerticalHinting2Wenn möglich, rendern Sie den Text ohne horizontales Hinting, aber richten Sie die Glyphen in vertikaler Richtung am Pixelraster aus. Der Text wird auf Bildschirmen, deren Dichte zu gering ist, um eine genaue Darstellung der Glyphen zu ermöglichen, schärfer erscheinen. Da die horizontalen Metriken der Glyphen jedoch nicht angedeutet sind, ist das Textlayout auf Geräten mit höherer Dichte (z. B. Druckern) skalierbar, ohne dass Details wie Zeilenumbrüche beeinträchtigt werden.
QFont::PreferFullHinting3Wenn möglich, rendern Sie Text mit Hinting sowohl in horizontaler als auch in vertikaler Richtung. Der Text wird verändert, um die Lesbarkeit auf dem Zielgerät zu optimieren. 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.

Bitte beachten Sie, dass diese Aufzählung nur eine Präferenz beschreibt, da nicht alle Hinting-Stufen auf allen von Qt unterstützten Plattformen unterstützt werden. Die folgende Tabelle beschreibt die Auswirkungen einer bestimmten Hinting-Präferenz auf einer ausgewählten Gruppe von Zielplattformen.

PreferDefaultHintingPreferNoHintingBevorzugenVerticalHintingPreferFullHinting
Windows und DirectWrite in Qt aktiviertVollständiges HintingVertikales HintingVertikales HintingVollständiges Hinting
FreeTypeEinstellung des BetriebssystemsKein HintingVertikale Andeutung (leicht)Vollständige Andeutung
Cocoa unter macOSKeine AndeutungKeine AndeutungKeine AndeutungKeine Hinweise

enum QFont::SpacingType

KonstanteWertBeschreibung
QFont::PercentageSpacing0Bei einem Wert von 100 bleibt der Abstand unverändert; bei einem Wert von 200 wird der Abstand nach einem Zeichen um die Breite des Zeichens selbst vergrößert.
QFont::AbsoluteSpacing1Ein positiver Wert vergrößert den Buchstabenabstand um die entsprechenden Pixel, ein negativer Wert verkleinert den Abstand.

enum QFont::Stretch

Vordefinierte Dehnungswerte, die der CSS-Namenskonvention entsprechen. Je höher der Wert, desto stärker ist der Text gedehnt.

KonstanteWertBeschreibung
QFont::AnyStretch (since Qt 5.8)00 Akzeptiert eine beliebige Dehnung, die mit den anderen Eigenschaften von QFont abgestimmt ist.
QFont::UltraCondensed5050
QFont::ExtraCondensed6262
QFont::Condensed7575
QFont::SemiCondensed8787
QFont::Unstretched100100
QFont::SemiExpanded112112
QFont::Expanded125125
QFont::ExtraExpanded150150
QFont::UltraExpanded200200

Siehe auch setStretch() und stretch().

enum QFont::Style

Diese Aufzählung beschreibt die verschiedenen Arten von Glyphen, die zur Darstellung von Text verwendet werden.

KonstanteWertBeschreibung
QFont::StyleNormal0Normale Glyphen, die in ungestyltem Text verwendet werden.
QFont::StyleItalic1Kursive Glyphen, die speziell für die Darstellung von kursivem Text entwickelt wurden.
QFont::StyleOblique2Glyphen mit kursivem Erscheinungsbild, die typischerweise auf den ungestylten Glyphen basieren, aber nicht speziell für die Darstellung von kursivem Text abgestimmt sind.

Siehe auch Weight.

enum QFont::StyleHint

Stilhinweise werden vom Algorithmus font matching verwendet, um eine geeignete Standardfamilie zu finden, wenn eine ausgewählte Schriftfamilie nicht verfügbar ist.

KonstanteWertBeschreibung
QFont::AnyStyle5überlässt die Auswahl der Familie dem Algorithmus für die Schriftartanpassung. Dies ist die Standardeinstellung.
QFont::SansSerifHelveticader Font Matcher bevorzugt serifenlose Schriften.
QFont::Helvetica0ist ein Synonym für SansSerif.
QFont::SerifTimesder Font Matcher bevorzugt serifenbetonte Schriften.
QFont::Times1ist ein Synonym für Serif.
QFont::TypeWriterCourierder Font Matcher bevorzugt Schriften mit festem Pitch.
QFont::Courier2ist ein Synonym für TypeWriter.
QFont::OldEnglish3Der Font Matcher bevorzugt dekorative Schriftarten.
QFont::DecorativeOldEnglishist ein Synonym für OldEnglish.
QFont::Monospace7der Font-Matcher bevorzugt Schriften, die der generischen CSS-Schriftfamilie "monospace" entsprechen.
QFont::Fantasy8der Font-Matcher bevorzugt Schriften, die der generischen CSS-Schriftfamilie "fantasy" entsprechen.
QFont::Cursive6der Font-Matcher bevorzugt Schriften, die der generischen CSS-Schriftfamilie "cursive" entsprechen.
QFont::System4Der Font Matcher bevorzugt Systemschriften.

enum QFont::StyleStrategy

Die Stilstrategie teilt dem Algorithmus font matching mit, welche Art von Schriftarten verwendet werden soll, um eine geeignete Standardfamilie zu finden.

Die folgenden Strategien sind verfügbar:

KonstanteWertBeschreibung
QFont::PreferDefault0x0001die Standardstilstrategie. Es wird keine Schriftart bevorzugt.
QFont::PreferBitmap0x0002bevorzugt Bitmap-Schriften (im Gegensatz zu Outline-Schriften).
QFont::PreferDevice0x0004bevorzugt Geräteschriften.
QFont::PreferOutline0x0008bevorzugt Umriss-Schriften (im Gegensatz zu Bitmap-Schriften).
QFont::ForceOutline0x0010erzwingt die Verwendung von Outline-Schriften.
QFont::NoAntialias0x0100keine Antialias-Schriftarten.
QFont::NoSubpixelAntialias0x0800Subpixel-Antialiasing bei den Schriften möglichst vermeiden.
QFont::PreferAntialias0x0080Antialias, wenn möglich.
QFont::ContextFontMerging (since Qt 6.8)0x2000Wenn die ausgewählte Schriftart ein bestimmtes Zeichen nicht enthält, dann wählt Qt automatisch eine ähnlich aussehende Ersatzschriftart, die das Zeichen enthält. Standardmäßig wird dies auf einer Zeichen-für-Zeichen-Basis gemacht. Das bedeutet, dass in bestimmten ungewöhnlichen Fällen mehrere Schriftarten verwendet werden können, um eine Textfolge darzustellen, selbst wenn sie im selben Skript enthalten ist. Wenn Sie ContextFontMerging einstellen, wird stattdessen versucht, die Ersatzschriftart zu finden, die der größten Teilmenge der Eingabezeichenkette entspricht. Dies ist bei Zeichenketten, in denen Glyphen fehlen, aufwendiger, kann aber zu konsistenteren Ergebnissen führen. Wenn NoFontMerging gesetzt ist, hat ContextFontMerging keine Auswirkung.
QFont::PreferTypoLineMetrics (since Qt 6.8)0x4000Aus Kompatibilitätsgründen enthalten OpenType-Schriften zwei konkurrierende Sätze von vertikalen Linienmetriken, die die ascent, descent und leading der Schrift darstellen. 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 PreferTypoLineMetrics zu besseren Ergebnissen führen.
QFont::NoFontMerging0x8000Wenn die für ein bestimmtes Schriftsystem gewählte Schriftart ein gewünschtes Zeichen nicht enthält, dann wählt Qt automatisch eine ähnlich aussehende Schriftart, die das Zeichen enthält. Das NoFontMerging-Flag schaltet diese Funktion aus. Bitte beachten Sie, dass die Aktivierung dieses Flags nicht verhindert, dass Qt automatisch eine passende Schriftart auswählt, wenn die ausgewählte Schriftart das Schriftsystem des Textes nicht unterstützt.
QFont::PreferNoShaping0x1000Manchmal wendet eine Schriftart komplexe Regeln auf eine Reihe von Zeichen an, um sie korrekt darzustellen. In einigen Schriftsystemen, wie z.B. der Brahmanenschrift, ist dies erforderlich, damit der Text lesbar ist, aber z.B. in der lateinischen Schrift ist es nur ein kosmetisches Merkmal. Das PreferNoShaping-Flag deaktiviert alle diese Merkmale, wenn sie nicht benötigt werden, was in den meisten Fällen die Leistung verbessert (seit Qt 5.10).

Jedes dieser Flags kann mit einem dieser Flags ODER-verknüpft werden:

KonstanteWertBeschreibung
QFont::PreferMatch0x0020bevorzugt eine exakte Übereinstimmung. Der Font Matcher wird versuchen, die exakte Schriftgröße zu verwenden, die angegeben wurde.
QFont::PreferQuality0x0040Bevorzuge die Schriftart mit der besten Qualität. Der Font Matcher verwendet die nächstgelegene Standardpunktgröße, die die Schriftart unterstützt.

enum QFont::Weight

Qt verwendet eine Gewichtungsskala von 1 bis 1000, die mit OpenType kompatibel ist. Ein Gewicht von 1 ist dünn, während 1000 extrem schwarz ist.

Diese Aufzählung enthält die vordefinierten Schriftgewichte:

KonstanteWertBeschreibung
QFont::Thin100100
QFont::ExtraLight200200
QFont::Light300300
QFont::Normal400400
QFont::Medium500500
QFont::DemiBold600600
QFont::Bold700700
QFont::ExtraBold800800
QFont::Black900900

Mitgliederfunktion Dokumentation

QFont::QFont()

Konstruiert ein Font-Objekt, das die Standardschriftart der Anwendung verwendet.

Siehe auch QGuiApplication::setFont() und QGuiApplication::font().

QFont::QFont(const QFont &font, const QPaintDevice *pd)

Konstruiert eine Schriftart aus font zur Verwendung auf dem Malgerät pd.

QFont::QFont(const QString &family, int pointSize = -1, int weight = -1, bool italic = false)

Konstruiert ein Font-Objekt mit den angegebenen Einstellungen family, pointSize, weight und italic.

Wenn pointSize null oder negativ ist, wird die Punktgröße der Schrift auf einen systemabhängigen Standardwert gesetzt. Im Allgemeinen sind dies 12 Punkte.

Der Name family kann optional auch den Namen des Herstellers enthalten, z. B. "Helvetica [Cronyx]". Wenn die family von mehr als einem Hersteller verfügbar ist und der Hersteller nicht angegeben wird, wird ein beliebiger Hersteller gewählt. Wenn die Familie nicht verfügbar ist, wird eine Familie mit dem Algorithmus font matching festgelegt.

Dabei wird die Familienzeichenkette an einem Komma geteilt und setFamilies() mit der resultierenden Liste aufgerufen. Um eine Schriftart zu erhalten, die ein Komma in ihrem Namen verwendet, verwenden Sie den Konstruktor, der ein QStringList nimmt.

Siehe auch Weight, setFamily(), setPointSize(), setWeight(), setItalic(), setStyleHint(), setFamilies(), und QGuiApplication::font().

[explicit] QFont::QFont(const QStringList &families, int pointSize = -1, int weight = -1, bool italic = false)

Konstruiert ein Font-Objekt mit den angegebenen Einstellungen families, pointSize, weight und italic.

Wenn pointSize null oder negativ ist, wird die Punktgröße der Schrift auf einen systemabhängigen Standardwert gesetzt. Im Allgemeinen sind dies 12 Punkte.

Jeder Eintrag eines Familiennamens in families kann optional auch einen Namen des Herstellers enthalten, z. B. "Helvetica [Cronyx]". Wenn die Familie von mehr als einer Gießerei angeboten wird und die Gießerei nicht angegeben ist, wird eine beliebige Gießerei ausgewählt. Wenn die Familie nicht verfügbar ist, wird eine Familie mit dem Algorithmus font matching festgelegt.

Siehe auch Weight, setPointSize(), setWeight(), setItalic(), setStyleHint(), setFamilies(), und QGuiApplication::font().

QFont::QFont(const QFont &font)

Konstruiert eine Schriftart, die eine Kopie von font ist.

[noexcept] QFont::~QFont()

Zerstört das Schriftobjekt und gibt alle zugewiesenen Ressourcen frei.

bool QFont::bold() const

Gibt true zurück, wenn weight() ein Wert größer als QFont::Medium ist; andernfalls gibt es false zurück.

Siehe auch weight(), setBold(), und QFontInfo::bold().

QFont::Capitalization QFont::capitalization() const

Gibt den aktuellen Großschreibungstyp der Schriftart zurück.

Siehe auch setCapitalization().

[since 6.7] void QFont::clearFeatures()

Löscht alle zuvor eingestellten Merkmale auf QFont.

Siehe setFeature() für weitere Details über Schriftmerkmale.

Diese Funktion wurde in Qt 6.7 eingeführt.

Siehe auch QFont::Tag, setFeature(), unsetFeature(), featureTags(), und featureValue().

[since 6.7] void QFont::clearVariableAxes()

Löscht alle zuvor eingestellten variablen Achsenwerte auf QFont.

Siehe setVariableAxis() für weitere Details zu variablen Achsen.

Diese Funktion wurde in Qt 6.7 eingeführt.

Siehe auch QFont::Tag, setVariableAxis(), unsetVariableAxis(), isVariableAxisSet(), und variableAxisValue().

QString QFont::defaultFamily() const

Gibt den Familiennamen zurück, der dem aktuellen Style-Hinweis entspricht.

Siehe auch StyleHint, styleHint(), und setStyleHint().

bool QFont::exactMatch() const

Gibt true zurück, wenn eine Fenstersystemschriftart verfügbar ist, die genau den Einstellungen dieser Schriftart entspricht.

Siehe auch QFontInfo.

QStringList QFont::families() const

Gibt die angeforderten Schriftfamiliennamen zurück, d. h. die Namen, die beim letzten Aufruf von setFamilies() oder über den Konstruktor gesetzt wurden. Andernfalls gibt es eine leere Liste zurück.

Siehe auch setFamily(), setFamilies(), family(), substitutes(), und substitute().

QString QFont::family() const

Gibt den angeforderten Namen der Schriftfamilie zurück. Dies ist immer derselbe wie der erste Eintrag im Aufruf families().

Siehe auch setFamily(), substitutes(), substitute(), setFamilies(), und families().

[since 6.7] QList<QFont::Tag> QFont::featureTags() const

Liefert eine Liste von Tags für alle Schriftmerkmale, die derzeit auf dieser QFont eingestellt sind.

Siehe setFeature() für weitere Details zu Schriftfunktionen.

Diese Funktion wurde in Qt 6.7 eingeführt.

Siehe auch QFont::Tag, setFeature(), unsetFeature(), isFeatureSet(), und clearFeatures().

[since 6.7] quint32 QFont::featureValue(QFont::Tag tag) const

Gibt den für ein bestimmtes Merkmal tag gesetzten Wert zurück. Wenn das Tag nicht gesetzt wurde, wird stattdessen 0 zurückgegeben.

Siehe setFeature() für weitere Details über Schriftmerkmale.

Diese Funktion wurde in Qt 6.7 eingeführt.

Siehe auch QFont::Tag, setFeature(), unsetFeature(), featureTags(), und isFeatureSet().

bool QFont::fixedPitch() const

Gibt true zurück, wenn ein fester Abstand eingestellt wurde; andernfalls false.

Siehe auch setFixedPitch() und QFontInfo::fixedPitch().

bool QFont::fromString(const QString &descrip)

Stellt diese Schrift so ein, dass sie mit der Beschreibung descrip übereinstimmt. Die Beschreibung ist eine durch Kommata getrennte Liste der Schriftattribute, wie sie von toString() zurückgegeben wird.

Siehe auch toString().

QFont::HintingPreference QFont::hintingPreference() const

Gibt die aktuell bevorzugte Hinting-Stufe für Glyphen zurück, die mit dieser Schriftart gerendert werden.

Siehe auch setHintingPreference().

[static] void QFont::insertSubstitution(const QString &familyName, const QString &substituteName)

Fügt substituteName in die Substitutionstabelle für die Familie familyName ein.

Lösen Sie nach dem Ersetzen einer Schriftart die Aktualisierung der Schriftart aus, indem Sie alle QFont Objekte zerstören und neu erstellen.

Siehe auch insertSubstitutions(), removeSubstitutions(), substitutions(), substitute(), und substitutes().

[static] void QFont::insertSubstitutions(const QString &familyName, const QStringList &substituteNames)

Fügt die Liste der Familien substituteNames in die Ersetzungsliste für familyName ein.

Lösen Sie nach dem Ersetzen einer Schriftart die Aktualisierung der Schriftart aus, indem Sie alle QFont Objekte zerstören und neu erstellen.

Siehe auch insertSubstitution(), removeSubstitutions(), substitutions(), und substitute().

bool QFont::isCopyOf(const QFont &f) const

Gibt true zurück, wenn diese Schriftart und f Kopien voneinander sind, d.h. eine von ihnen wurde als Kopie der anderen erstellt und keine von beiden wurde seitdem verändert. Dies ist viel strenger als Gleichheit.

Siehe auch operator=() und operator==().

[since 6.7] bool QFont::isFeatureSet(QFont::Tag tag) const

Gibt true zurück, wenn ein Wert für das durch tag angegebene Merkmal auf QFont gesetzt wurde, andernfalls wird false zurückgegeben.

Siehe setFeature() für weitere Details über Schriftmerkmale.

Diese Funktion wurde in Qt 6.7 eingeführt.

Siehe auch QFont::Tag, setFeature(), unsetFeature(), featureTags(), und featureValue().

[since 6.7] bool QFont::isVariableAxisSet(QFont::Tag tag) const

Gibt true zurück, wenn ein Wert für die durch tag angegebene variable Achse auf QFont gesetzt wurde, andernfalls gibt es false zurück.

Siehe setVariableAxis() für weitere Details über variable Achsen für Schriftarten.

Diese Funktion wurde in Qt 6.7 eingeführt.

Siehe auch QFont::Tag, setVariableAxis(), unsetVariableAxis(), variableAxisValue(), und clearVariableAxes().

bool QFont::italic() const

Gibt true zurück, wenn die style() der Schriftart nicht QFont::StyleNormal

Siehe auch setItalic() und style().

bool QFont::kerning() const

Gibt true zurück, wenn Kerning beim Zeichnen von Text mit dieser Schriftart verwendet werden soll.

Siehe auch setKerning().

QString QFont::key() const

Gibt den Schlüssel der Schriftart zurück, eine textuelle Darstellung einer Schriftart. Sie wird in der Regel als Schlüssel für einen Cache oder ein Wörterbuch von Schriftarten verwendet.

Siehe auch QMap.

qreal QFont::letterSpacing() const

Gibt den Buchstabenabstand für die Schriftart zurück.

Siehe auch setLetterSpacing(), letterSpacingType(), und setWordSpacing().

QFont::SpacingType QFont::letterSpacingType() const

Gibt den für die Buchstabenabstände verwendeten Abstandstyp zurück.

Siehe auch letterSpacing(), setLetterSpacing(), und setWordSpacing().

bool QFont::overline() const

Gibt true zurück, wenn overline gesetzt wurde; andernfalls false.

Siehe auch setOverline().

int QFont::pixelSize() const

Gibt die Pixelgröße der Schrift zurück, wenn sie mit setPixelSize() festgelegt wurde. Gibt -1 zurück, wenn die Größe mit setPointSize() oder setPointSizeF() festgelegt wurde.

Siehe auch setPixelSize(), pointSize(), QFontInfo::pointSize(), und QFontInfo::pixelSize().

int QFont::pointSize() const

Gibt die Punktgröße der Schrift zurück. Gibt -1 zurück, wenn die Schriftgröße in Pixel angegeben wurde.

Siehe auch setPointSize() und pointSizeF().

qreal QFont::pointSizeF() const

Gibt die Punktgröße der Schrift zurück. Gibt -1 zurück, wenn die Schriftgröße in Pixel angegeben wurde.

Siehe auch pointSize(), setPointSizeF(), pixelSize(), QFontInfo::pointSize(), und QFontInfo::pixelSize().

[static] void QFont::removeSubstitutions(const QString &familyName)

Entfernt alle Ersetzungen für familyName.

Siehe auch insertSubstitutions(), insertSubstitution(), substitutions(), und substitute().

QFont QFont::resolve(const QFont &other) const

Gibt eine neue QFont zurück, deren Attribute von other kopiert wurden, die zuvor nicht für diese Schriftart festgelegt wurden.

void QFont::setBold(bool enable)

Wenn enable wahr ist, wird das Gewicht der Schrift auf QFont::Bold gesetzt; andernfalls wird das Gewicht auf QFont::Normal gesetzt.

Für eine feinere Steuerung der Fettheit verwenden Sie setWeight().

Hinweis: Wenn styleName() gesetzt ist, kann dieser Wert ignoriert werden, oder, falls von der Plattform unterstützt, die Schrift künstlich fett gemacht werden.

Siehe auch bold() und setWeight().

void QFont::setCapitalization(QFont::Capitalization caps)

Setzt die Großschreibung des Textes in dieser Schriftart auf caps.

Die Großschreibung einer Schriftart bewirkt, dass der Text in dem ausgewählten Großbuchstabenmodus erscheint.

Siehe auch capitalization().

void QFont::setFamilies(const QStringList &families)

Legt die Liste der Familiennamen für die Schriftart fest. Bei den Namen wird nicht zwischen Groß- und Kleinschreibung unterschieden, und sie können einen Gießereinamen enthalten. Die erste Familie in families wird als Hauptfamilie für die Schriftart festgelegt.

Jeder Familiennameneintrag in families kann optional auch einen Gießereinamen enthalten, z. B. "Helvetica [Cronyx]". Wenn die Familie von mehr als einer Gießerei erhältlich 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 dem font matching Algorithmus festgelegt.

Siehe auch family(), families(), setFamily(), setStyleHint(), und QFontInfo.

void QFont::setFamily(const QString &family)

Legt den Familiennamen der Schriftart fest. Der Name unterscheidet nicht zwischen Groß- und Kleinschreibung und kann einen Gießereinamen enthalten.

Der Name family kann optional auch einen Gießereinamen enthalten, z. B. "Helvetica [Cronyx]". Wenn die family von mehr als einer Gießerei erhältlich 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 font matching Algorithmus festgelegt.

Siehe auch family(), setStyleHint(), setFamilies(), families(), und QFontInfo.

[since 6.7] void QFont::setFeature(QFont::Tag tag, quint32 value)

Dies ist eine überladene Funktion.

Wendet beim Formen des Textes einen Ganzzahlwert auf das durch tag angegebene typografische Merkmal an. 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.

Das Merkmal wird durch eine tag angegeben, die in der Regel aus dem vierstelligen Merkmalnamen in der Font Feature Map kodiert wird.

Die mit dem Tag übergebene Ganzzahl value stellt in den meisten Fällen einen booleschen Wert dar: Ein Nullwert bedeutet, dass das Merkmal deaktiviert ist, und ein Wert ungleich Null bedeutet, dass es aktiviert ist. Bei bestimmten Schriftmerkmalen kann sie 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 die Funktion frac unterstützt, kann sie im Shaper durch Setzen von features["frac"] = 1 in der Font Feature Map aktiviert werden.

Hinweis: Standardmäßig aktiviert und deaktiviert Qt bestimmte Font-Features basierend auf anderen Font-Eigenschaften. Insbesondere die Funktion kern wird abhängig von der Eigenschaft kerning() der QFont aktiviert/deaktiviert. Darüber hinaus werden alle Ligaturfunktionen (liga, clig, dlig, hlig) deaktiviert, wenn eine letterSpacing() angewendet wird, jedoch nur für Schriftsysteme, bei denen die Verwendung von Ligaturen kosmetischer Natur ist. Bei Schriftsystemen, in denen Ligaturen erforderlich sind, bleiben die Merkmale in ihrem Standardzustand. Die Werte, die mit setFeature() und verwandten Funktionen gesetzt werden, setzen das Standardverhalten außer Kraft. Wenn zum Beispiel das Merkmal "kern" auf 1 gesetzt wird, dann wird das Kerning immer aktiviert, unabhängig davon, ob die Eigenschaft "kerning" auf false gesetzt ist. Ist sie auf 0 gesetzt, ist sie immer deaktiviert. Um eine Schrifteigenschaft auf ihr Standardverhalten zurückzusetzen, können Sie sie mit unsetFeature() aufheben.

Diese Funktion wurde in Qt 6.7 eingeführt.

Siehe auch QFont::Tag, clearFeatures(), setFeature(), unsetFeature(), und featureTags().

void QFont::setFixedPitch(bool enable)

Wenn enable wahr ist, wird die feste Tonhöhe eingeschaltet; andernfalls wird die feste Tonhöhe ausgeschaltet.

Siehe auch fixedPitch() und QFontInfo.

void QFont::setHintingPreference(QFont::HintingPreference hintingPreference)

Setzen Sie die Präferenz für die Hinting-Stufe der Glyphen auf hintingPreference. Dies ist ein Hinweis an das zugrundeliegende Font-Rendering-System, eine bestimmte Hinting-Stufe zu verwenden, und wird von verschiedenen Plattformen unterschiedlich unterstützt. Weitere Einzelheiten finden Sie in der Tabelle in der Dokumentation zu QFont::HintingPreference.

Die Standardeinstellung für Hinting ist QFont::PreferDefaultHinting.

Siehe auch hintingPreference().

void QFont::setItalic(bool enable)

Setzt den style() der Schriftart auf QFont::StyleItalic, wenn enable wahr ist; andernfalls wird der Stil auf QFont::StyleNormal gesetzt.

Hinweis: Wenn styleName() gesetzt ist, kann dieser Wert ignoriert werden, oder, falls von der Plattform unterstützt, kann die Schrift geneigt gerendert werden, anstatt eine entworfene kursive Schriftvariante zu wählen.

Siehe auch italic() und QFontInfo.

void QFont::setKerning(bool enable)

Aktiviert das Kerning für diese Schriftart, wenn enable true ist; andernfalls wird es deaktiviert. Standardmäßig ist das Kerning aktiviert.

Wenn Kerning aktiviert ist, addieren sich die Glyphenmetriken nicht mehr, selbst bei lateinischem Text. Mit anderen Worten, die Annahme, dass width('a') + width('b') gleich width("ab") ist, ist nicht unbedingt richtig.

Siehe auch kerning() und QFontMetrics.

void QFont::setLetterSpacing(QFont::SpacingType type, qreal spacing)

Setzt den Buchstabenabstand für die Schriftart auf spacing und die Art des Abstands auf type.

Mit dem Buchstabenabstand wird der Standardabstand zwischen den einzelnen Buchstaben der Schriftart geändert. Der Abstand zwischen den Buchstaben kann sowohl verkleinert als auch vergrößert werden, entweder in Prozent der Zeichenbreite oder in Pixeln, je nach gewählter Abstandsart.

Siehe auch letterSpacing(), letterSpacingType(), und setWordSpacing().

void QFont::setOverline(bool enable)

Wenn enable wahr ist, wird die Überschrift eingeschaltet; andernfalls wird die Überschrift ausgeschaltet.

Siehe auch overline() und QFontInfo.

void QFont::setPixelSize(int pixelSize)

Setzt die Schriftgröße auf pixelSize Pixel, mit einer maximalen Größe einer vorzeichenlosen 16-Bit-Ganzzahl.

Die Verwendung dieser Funktion macht die Schrift geräteabhängig. Verwenden Sie setPointSize() oder setPointSizeF(), um die Größe der Schrift geräteunabhängig einzustellen.

Siehe auch pixelSize().

void QFont::setPointSize(int pointSize)

Setzt die Punktgröße auf pointSize. Die Punktgröße muss größer als Null sein.

Siehe auch pointSize() und setPointSizeF().

void QFont::setPointSizeF(qreal pointSize)

Setzt die Punktgröße auf pointSize. Die Punktgröße muss größer als Null sein. Die geforderte Genauigkeit wird möglicherweise nicht auf allen Plattformen erreicht.

Siehe auch pointSizeF(), setPointSize(), und setPixelSize().

void QFont::setStretch(int factor)

Legt den Streckungsfaktor für die Schriftart fest.

Der Streckungsfaktor entspricht einer komprimierten oder erweiterten Version der Schrift oder wendet eine Streckungstransformation an, die die Breite aller Zeichen in der Schrift um factor Prozent ändert. Wenn Sie zum Beispiel factor auf 150 setzen, werden alle Zeichen in der Schrift um das 1,5-fache (d. h. 150 %) breiter. Der minimale Streckungsfaktor ist 1, der maximale Streckungsfaktor ist 4000. Der Standard-Dehnungsfaktor ist AnyStretch, der jeden Dehnungsfaktor akzeptiert und keine Transformation auf die Schrift anwendet.

Der Dehnungsfaktor wird nur auf Outline-Schriften angewendet. Bei Bitmap-Schriften wird der Streckungsfaktor ignoriert.

Hinweis: Wenn Sie eine Schrift mit einem nativen, nicht standardmäßigen Streckungsfaktor anpassen, wird sie durch die Anforderung eines Streckungsfaktors von 100 auf eine Schrift mittlerer Breite zurückgestreckt.

Siehe auch stretch() und QFont::Stretch.

void QFont::setStrikeOut(bool enable)

Wenn enable wahr ist, wird das Ausstreichen aktiviert; andernfalls wird das Ausstreichen deaktiviert.

Siehe auch strikeOut() und QFontInfo.

void QFont::setStyle(QFont::Style style)

Setzt den Stil der Schriftart auf style.

Siehe auch style(), italic(), und QFontInfo.

void QFont::setStyleHint(QFont::StyleHint hint, QFont::StyleStrategy strategy = PreferDefault)

Setzt den Stil-Hinweis und die Strategie auf hint bzw. strategy.

Wenn diese nicht explizit gesetzt werden, wird der Style-Hinweis auf AnyStyle und die Style-Strategie auf PreferDefault gesetzt.

Qt unterstützt keine Style-Hints unter X11, da diese Informationen nicht vom Window-System bereitgestellt werden.

Siehe auch StyleHint, styleHint(), StyleStrategy, styleStrategy(), und QFontInfo.

void QFont::setStyleName(const QString &styleName)

Setzt den Stilnamen der Schriftart auf styleName. Wenn dieser Wert gesetzt ist, werden andere Stileigenschaften wie style() und weight() für die Anpassung der Schriftart ignoriert, obwohl sie anschließend simuliert werden können, wenn dies von der Font-Engine der Plattform unterstützt wird.

Aufgrund der geringeren Qualität der künstlich simulierten Stile und der fehlenden plattformübergreifenden Unterstützung wird nicht empfohlen, die Anpassung nach Stilnamen zusammen mit der Anpassung nach Stileigenschaften zu verwenden

Siehe auch styleName().

void QFont::setStyleStrategy(QFont::StyleStrategy s)

Setzt die Stilstrategie für die Schriftart auf s.

Siehe auch styleStrategy() und QFont::StyleStrategy.

void QFont::setUnderline(bool enable)

Wenn enable wahr ist, wird die Unterstreichung eingeschaltet; andernfalls wird die Unterstreichung ausgeschaltet.

Siehe auch underline() und QFontInfo.

[since 6.7] void QFont::setVariableAxis(QFont::Tag tag, float value)

Wendet eine value auf die variable Achse an, die der tag entspricht.

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 in der Regel vom Schriftdesigner benannt und können in Qt mit setStyleName() wie herkömmliche Unterfamilien ausgewählt werden.

In manchen Fällen ist es auch sinnvoll, 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. Sie könnten dies dann manuell anfordern, indem Sie einen benutzerdefinierten Wert für die Achse "wght" in der Schriftart angeben.

QFont font;
font.setVariableAxis("wght", (QFont::Normal + QFont::Bold) / 2.0f);

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 Funktion wurde in Qt 6.7 eingeführt.

Siehe auch unsetVariableAxis.

void QFont::setWeight(QFont::Weight weight)

Setzt das Gewicht der Schriftart auf weight, wobei die durch die Aufzählung QFont::Weight definierte Skala verwendet wird.

Hinweis: Wenn styleName() gesetzt ist, kann dieser Wert für die Schriftauswahl ignoriert werden.

Siehe auch weight() und QFontInfo.

void QFont::setWordSpacing(qreal spacing)

Setzt den Wortabstand für die Schriftart auf spacing.

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.

Der Wortabstand gilt nicht für Schriftsysteme, bei denen die einzelnen Wörter nicht durch Leerraum getrennt sind.

Siehe auch wordSpacing() und setLetterSpacing().

int QFont::stretch() const

Gibt den Dehnungsfaktor für die Schrift zurück.

Siehe auch setStretch().

bool QFont::strikeOut() const

Gibt true zurück, wenn strikeout gesetzt wurde; andernfalls wird false zurückgegeben.

Siehe auch setStrikeOut().

QFont::Style QFont::style() const

Gibt den Stil der Schriftart zurück.

Siehe auch setStyle().

QFont::StyleHint QFont::styleHint() const

Gibt die StyleHint zurück.

Der Stil-Hinweis wirkt sich auf font matching algorithm aus. Eine Liste der verfügbaren Hinweise finden Sie unter QFont::StyleHint.

Siehe auch setStyleHint(), QFont::StyleStrategy, und QFontInfo::styleHint().

QString QFont::styleName() const

Gibt den Namen des angeforderten Schriftstils zurück. Dies kann verwendet werden, um die Schriftart mit unregelmäßigen Stilen abzugleichen (die in anderen Stileigenschaften nicht normalisiert werden können).

Siehe auch setStyleName(), setFamily(), und setStyle().

QFont::StyleStrategy QFont::styleStrategy() const

Gibt die StyleStrategy zurück.

Die Stilstrategie wirkt sich auf den Algorithmus font matching aus. Siehe QFont::StyleStrategy für die Liste der verfügbaren Strategien.

Siehe auch setStyleStrategy(), setStyleHint(), und QFont::StyleHint.

[static] QString QFont::substitute(const QString &familyName)

Gibt den ersten Familiennamen zurück, der verwendet wird, wenn familyName angegeben ist. Bei der Suche wird die Groß- und Kleinschreibung nicht berücksichtigt.

Wenn es keine Ersetzung für familyName gibt, wird familyName zurückgegeben.

Um eine Liste der Ersetzungen zu erhalten, verwenden Sie substitutes().

Siehe auch setFamily(), insertSubstitutions(), insertSubstitution(), und removeSubstitutions().

[static] QStringList QFont::substitutes(const QString &familyName)

Gibt eine Liste von Familiennamen zurück, die verwendet werden, wenn familyName angegeben wird. Bei der Suche wird die Groß- und Kleinschreibung nicht berücksichtigt.

Wenn es keine Ersetzung für familyName gibt, wird eine leere Liste zurückgegeben.

Siehe auch substitute(), insertSubstitutions(), insertSubstitution(), und removeSubstitutions().

[static] QStringList QFont::substitutions()

Liefert eine sortierte Liste von substituierten Familiennamen.

Siehe auch insertSubstitution(), removeSubstitutions(), und substitute().

[noexcept] void QFont::swap(QFont &other)

Tauscht diese Schriftinstanz mit other aus. Dieser Vorgang ist sehr schnell und schlägt nie fehl.

QString QFont::toString() const

Gibt eine Beschreibung der Schriftart zurück. Die Beschreibung ist eine durch Kommata getrennte Liste der Attribute, die sich perfekt für die Verwendung in QSettings eignet und aus den folgenden besteht

  • Schriftfamilie
  • Punktgröße
  • Pixelgröße
  • Stil-Hinweis
  • Gewicht der Schriftart
  • Schriftart
  • Unterstreichen
  • Durchgestrichen
  • Fester Abstand
  • Immer 0
  • Großschreibung
  • Abstand zwischen den Buchstaben
  • Abstand zwischen den Wörtern
  • Strecken
  • Stil-Strategie
  • Schriftstil (weggelassen, wenn nicht verfügbar)

Siehe auch fromString().

bool QFont::underline() const

Gibt true zurück, wenn der Unterstrich gesetzt wurde; andernfalls false.

Siehe auch setUnderline().

[since 6.7] void QFont::unsetFeature(QFont::Tag tag)

Dies ist eine überladene Funktion.

Entfernt die tag aus der Karte der explizit aktivierten/deaktivierten Merkmale.

Hinweis: Auch wenn das Merkmal zuvor nicht hinzugefügt wurde, wird die Zuordnung der Schriftmerkmale in dieser QFont als geändert markiert, so dass sie bei der Auflösung gegen andere Schriftarten Vorrang hat.

Wenn Sie ein vorhandenes Merkmal auf QFont zurücksetzen, wird das Verhalten auf die Standardeinstellung zurückgesetzt.

Siehe setFeature() für weitere Details über Schriftmerkmale.

Diese Funktion wurde in Qt 6.7 eingeführt.

Siehe auch QFont::Tag, clearFeatures(), setFeature(), featureTags(), und featureValue().

[since 6.7] void QFont::unsetVariableAxis(QFont::Tag tag)

Setzt einen zuvor durch tag angegebenen Wert für eine variable Achse zurück.

Hinweis: Wenn zuvor kein Wert für dieses Tag angegeben wurde, betrachtet QFont seine variablen Achsen weiterhin als gesetzt, wenn es gegen andere QFont Werte auflöst.

Diese Funktion wurde in Qt 6.7 eingeführt.

Siehe auch setVariableAxis.

[since 6.7] QList<QFont::Tag> QFont::variableAxisTags() const

Gibt eine Liste von Tags für alle variablen Achsen zurück, die derzeit auf dieser QFont eingestellt sind.

Siehe setVariableAxis() für weitere Details zu variablen Achsen.

Diese Funktion wurde in Qt 6.7 eingeführt.

Siehe auch QFont::Tag, setVariableAxis(), unsetVariableAxis(), isVariableAxisSet(), und clearVariableAxes().

[since 6.7] float QFont::variableAxisValue(QFont::Tag tag) const

Gibt den für eine bestimmte variable Achse tag eingestellten Wert zurück. Wurde das Tag nicht gesetzt, wird stattdessen 0,0 zurückgegeben.

Siehe setVariableAxis() für weitere Details zu variablen Achsen.

Diese Funktion wurde in Qt 6.7 eingeführt.

Siehe auch QFont::Tag, setVariableAxis(), unsetVariableAxis(), isVariableAxisSet(), und clearVariableAxes().

QFont::Weight QFont::weight() const

Gibt das Gewicht der Schrift zurück, wobei die gleiche Skala wie bei der Aufzählung QFont::Weight verwendet wird.

Siehe auch setWeight(), Weight, und QFontInfo.

qreal QFont::wordSpacing() const

Gibt den Wortabstand für die Schriftart zurück.

Siehe auch setWordSpacing() und setLetterSpacing().

QVariant QFont::operator QVariant() const

Gibt die Schriftart als QVariant

bool QFont::operator!=(const QFont &f) const

Gibt true zurück, wenn sich diese Schrift von f unterscheidet; andernfalls wird false zurückgegeben.

Zwei QFonts werden als unterschiedlich betrachtet, wenn ihre Schriftattribute unterschiedlich sind.

Siehe auch operator==().

bool QFont::operator<(const QFont &f) const

Ermöglicht einen beliebigen Vergleich zwischen dieser Schriftart und der Schriftart f. Es wird lediglich garantiert, dass der Operator false zurückgibt, wenn beide Schriftarten gleich sind, und dass (f1 < f2) == !(f2 < f1), wenn die Schriftarten nicht gleich sind.

Diese Funktion ist unter bestimmten Umständen nützlich, z.B. wenn Sie QFont Objekte als Schlüssel in einem QMap verwenden wollen.

Siehe auch operator==(), operator!=(), und isCopyOf().

[noexcept] QFont &QFont::operator=(QFont &&other)

Verschieben - weist other dieser QFont Instanz zu.

QFont &QFont::operator=(const QFont &font)

Weist font dieser Schriftart zu und gibt einen Verweis auf sie zurück.

bool QFont::operator==(const QFont &f) const

Gibt true zurück, wenn diese Schriftart gleich f ist; andernfalls wird false zurückgegeben.

Zwei QFonts werden als gleich angesehen, wenn ihre Schriftattribute gleich sind.

Siehe auch operator!=() und isCopyOf().

Verwandte Nicht-Mitglieder

[noexcept] size_t qHash(const QFont &key, size_t seed = 0)

Gibt den Hash-Wert für key zurück, wobei seed als Startwert für die Berechnung verwendet wird.

QDataStream &operator<<(QDataStream &s, const QFont &font)

Schreibt die Schrift font in den Datenstrom s. (toString() schreibt in einen Textstrom.)

Siehe auch Format der QDataStream-Operatoren.

QDataStream &operator>>(QDataStream &s, QFont &font)

Liest die Schrift font aus dem Datenstrom s. (fromString() liest aus einem Textstrom.)

Siehe auch Format der QDataStream-Operatoren.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.