QFont Class
Die Klasse „QFont“ definiert eine Abfrage für eine Schriftart, die zum Zeichnen von Text verwendet wird. Mehr...
| Header: | #include <QFont> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- Veraltete Elemente
- QFont ist Teil der Malklassen, der implizit gemeinsam genutzten Klassen und der Rich-Text-Verarbeitungs-APIs.
Hinweis: Alle Funktionen 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(QFont &&) | |
| ~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 |
| 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() |
Verwandte Nicht-Mitglieder
| size_t | qHash(const QFont &key, size_t seed = 0) |
| QDataStream & | operator<<(QDataStream &s, const QFont &font) |
| QDataStream & | operator>>(QDataStream &s, QFont &font) |
Ausführliche Beschreibung
QFont kann als Abfrage nach einer oder mehreren Schriftarten auf dem System betrachtet werden.
Beim Erstellen eines QFont-Objekts legen Sie verschiedene Attribute fest, die die Schriftart aufweisen soll. Qt verwendet die Schriftart mit den angegebenen Attributen; falls keine passende Schriftart vorhanden ist, verwendet Qt die am besten passende installierte Schriftart. Die Attribute der tatsächlich verwendeten Schriftart können über ein ` QFontInfo `-Objekt abgerufen werden. Wenn das Fenstersystem eine exakte Übereinstimmung bereitstellt, gibt ` exactMatch()` ` true` zurück. Verwenden Sie ` QFontMetricsF `, um Maße abzurufen, z. B. die Pixellänge einer Zeichenkette mit ` QFontMetrics::horizontalAdvance()`.
Attribute, die nicht ausdrücklich festgelegt sind, haben keinen Einfluss auf den Algorithmus zur Schriftartauswahl; stattdessen werden die Standardwerte bevorzugt.
Um eine bestimmte physische Schriftart zu laden, die in der Regel 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 eine ausgewählte Schriftart nicht alle Zeichen enthält, die angezeigt werden müssen, versucht QFont, die Zeichen in den am ehesten entsprechenden Schriftarten zu finden. Wenn ein ` QPainter ` ein Zeichen aus einer Schriftart zeichnet, meldet QFont, ob es das Zeichen enthält oder nicht; falls nicht, zeichnet ` QPainter ` ein unfülltes Quadrat.
Erstellen Sie QFonts wie folgt:
Die im Konstruktor festgelegten Attribute können auch später gesetzt werden, z. B. ` setFamily()`, ` setPointSize()`, ` setPointSizeF()`, ` setWeight()` und ` setItalic()`. Die übrigen Attribute müssen nach der Erstellung gesetzt werden, z. B. ` setBold()`, ` setUnderline()`, ` setOverline()`, ` setStrikeOut()` und ` setFixedPitch()`. ` QFontInfo `-Objekte sollten erst erstellt werden , nachdem die Attribute der Schriftart festgelegt wurden. Ein ` QFontInfo `-Objekt ändert sich nicht, selbst wenn Sie die Attribute der Schriftart ändern. Die entsprechenden „get“-Funktionen, z. B. ` family()`, ` pointSize()` usw., geben die festgelegten Werte zurück, auch wenn die verwendeten Werte abweichen können. Die tatsächlichen Werte sind über ein ` QFontInfo `-Objekt abrufbar.
Wenn die angeforderte Schriftfamilie nicht verfügbar ist, können Sie die „ font matching algorithm “ beeinflussen, indem Sie mit setStyleHint() eine bestimmte „ QFont::StyleHint “ und „ QFont::StyleStrategy “ auswählen. Die Standardfamilie (entsprechend dem aktuellen Stilhinweis) wird von defaultFamily() zurückgegeben.
Sie können mit den Funktionen ` insertSubstitution()` und ` insertSubstitutions()` Ersetzungen für Schriftfamiliennamen angeben. Ersetzungen können mit ` removeSubstitutions()` entfernt werden. Verwenden Sie ` substitute()`, um die erste Ersetzung einer Familie abzurufen oder, falls keine Ersetzungen vorhanden sind, den Familiennamen selbst. Verwenden Sie ` substitutes()`, um eine Liste der Ersetzungen einer Familie abzurufen (die leer sein kann). Nach dem Ersetzen einer Schriftart müssen Sie die Aktualisierung der Schriftart auslösen, indem Sie alle QFont-Objekte löschen und neu erstellen.
Jedes QFont-Objekt verfügt über eine „ key()“, die Sie beispielsweise als Schlüssel in einem Cache oder einem Wörterbuch verwenden können. Wenn Sie die Schriftarteneinstellungen eines Benutzers speichern möchten, könnten Sie „ QSettings “ verwenden, wobei Sie die Schriftartinformationen mit „ toString()“ schreiben und mit „ fromString()“ wieder einlesen. Die Funktionen „operator<<()“ und „operator>>()“ sind ebenfalls verfügbar, arbeiten jedoch mit einem Datenstrom.
Es ist möglich, die Höhe der auf dem Bildschirm angezeigten Zeichen mit ` setPixelSize()` auf eine bestimmte Anzahl von Pixeln festzulegen; die Verwendung von ` setPointSize()` hat jedoch einen ähnlichen Effekt und gewährleistet Geräteunabhängigkeit.
Das Laden von Schriftarten kann rechenintensiv sein, insbesondere unter X11. QFont enthält umfangreiche Optimierungen, um das Kopieren von QFont-Objekten zu beschleunigen und die Ergebnisse der langsamen Fenstersystemfunktionen, auf die es angewiesen ist, zwischenzuspeichern.
Der Algorithmus zur Schriftartzuordnung funktioniert wie folgt:
- Es wird nach den angegebenen Schriftfamilien (festgelegt durch ` setFamilies()`) gesucht.
- Ist dies nicht der Fall, wird eine Ersatzschriftart ausgewählt, die das Schriftsystem unterstützt. Der Algorithmus zur Schriftartzuordnung versucht, die beste Übereinstimmung für alle in dem QFont festgelegten Eigenschaften zu finden. Wie dies geschieht, variiert von Plattform zu Plattform.
- Wenn auf dem System keine Schriftart vorhanden ist, die den Text darstellen kann, werden an deren Stelle spezielle „Fehlzeichen“-Kästchen angezeigt.
Hinweis: Wenn der ausgewählte Schriftart zwar das Schriftsystem im Allgemeinen unterstützt, ihm jedoch Glyphen für ein oder mehrere bestimmte Zeichen fehlen, versucht Qt, eine Ausweichschriftart für dieses oder diese bestimmten Zeichen zu finden. Diese Funktion kann mithilfe der Stilstrategie „ QFont::NoFontMerging “ deaktiviert werden.
Unter Windows wird eine Anforderung für die Schriftart „Courier“ automatisch in „Courier New“ umgewandelt, eine verbesserte Version von Courier, die eine stufenlose Skalierung ermöglicht. Die ältere Bitmap-Schriftart „Courier“ kann durch Festlegen der Stilstrategie „ PreferBitmap “ ausgewählt werden (siehe setStyleStrategy()).
Sobald eine Schriftart gefunden wurde, werden die übrigen Attribute in der Reihenfolge ihrer Priorität abgeglichen:
- fixedPitch()
- pointSize() (siehe unten)
- weight()
- style()
Wenn Sie eine Schriftart haben, die in der Schriftfamilie übereinstimmt, wird diese Schriftart einer Schriftart vorgezogen, die zwar nicht in der Schriftfamilie, aber bei den anderen Attributen übereinstimmt, selbst wenn keines der anderen Attribute übereinstimmt. Das liegt daran, dass die Schriftfamilie das dominierende Suchkriterium ist.
Die Punktgröße gilt als übereinstimmend, wenn sie innerhalb von 20 % der angeforderten Punktgröße liegt. Wenn mehrere Schriftarten übereinstimmen und sich nur durch die Punktgröße unterscheiden, wird die Schriftart ausgewählt, deren Punktgröße der angeforderten am nächsten kommt.
Die tatsächliche Schriftfamilie, Schriftgröße, Schriftstärke und andere Schriftattribute, die zum Zeichnen des Textes verwendet werden, hängen davon ab, was für die ausgewählte Schriftfamilie im Fenstersystem verfügbar ist. Mit einem „ QFontInfo “-Objekt lassen sich die tatsächlichen Werte ermitteln, die zum Zeichnen des Textes verwendet werden.
Beispiele:
QFont f("Helvetica");Wenn Sie sowohl eine Adobe- als auch eine Cronyx-Helvetica-Schriftart hätten, könnte eine der beiden verwendet werden.
QFont f("Helvetica [Cronyx]");Sie können den gewünschten Hersteller im Familiennamen angeben. Die Schriftart „f“ im obigen Beispiel wird dann als „Helvetica [Cronyx]“ gesetzt.
Um die Attribute der im Fenstersystem tatsächlich verwendeten Schriftart zu ermitteln, verwenden Sie ein „ QFontInfo “-Objekt, z. B.
Um die Schriftmetriken 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();Allgemeine Informationen zu Schriftarten finden Sie in den FAQ der Newsgroup „comp.fonts“. Informationen zu Kodierungen finden Sie auf der UTR17 -Seite.
Siehe auch QFontMetrics, QFontInfo und QFontDatabase.
Dokumentation zu Mitgliedstypen
enum QFont::Capitalization
Darstellungsoption für Text, auf den diese Schriftart angewendet wird.
| Konstante | Wert | Beschreibung |
|---|---|---|
QFont::MixedCase | 0 | Dies ist die normale Textdarstellungsoption, bei der keine Änderung der Großschreibung vorgenommen wird. |
QFont::AllUppercase | 1 | Hierdurch wird der Text in Großbuchstaben dargestellt. |
QFont::AllLowercase | 2 | Hiermit wird der Text in Kleinbuchstaben dargestellt. |
QFont::SmallCaps | 3 | Hiermit wird der Text in Kapitälchen dargestellt. |
QFont::Capitalize | 4 | Hierbei wird der Text so dargestellt, dass das erste Zeichen jedes Wortes großgeschrieben wird. |
enum QFont::HintingPreference
Diese Aufzählung beschreibt die verschiedenen Stufen der Hinting-Anwendung, die auf Glyphen angewendet werden können, um die Lesbarkeit auf Bildschirmen zu verbessern, wenn dies aufgrund der Pixeldichte erforderlich sein sollte.
| Konstante | Wert | Beschreibung |
|---|---|---|
QFont::PreferDefaultHinting | 0 | Verwenden Sie die Standard-Hinting-Stufe für die Zielplattform. |
QFont::PreferNoHinting | 1 | Wenn möglich, wird der Text ohne Hinting der Glyphenkonturen gerendert. Das Textlayout ist typografisch korrekt und skalierbar und verwendet dieselben Metriken wie beispielsweise beim Drucken. |
QFont::PreferVerticalHinting | 2 | Wenn möglich, rendern Sie den Text ohne horizontales Hinting, richten Sie die Glyphen jedoch in vertikaler Richtung am Pixelraster aus. Der Text erscheint auf Displays, deren Dichte zu gering ist, um eine korrekte Darstellung der Glyphen zu gewährleisten, schärfer. Da die horizontalen Metriken der Glyphen jedoch nicht mit Hinting versehen sind, lässt sich das Textlayout auf Geräte mit höherer Dichte (wie z. B. Drucker) skalieren, ohne dass Details wie Zeilenumbrüche beeinträchtigt werden. |
QFont::PreferFullHinting | 3 | Wenn möglich, rendern Sie Text 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. |
Bitte beachten Sie, dass diese Enumeration lediglich eine Einstellung beschreibt, da nicht alle Hinting-Stufen auf allen von Qt unterstützten Plattformen verfügbar sind. Die folgende Tabelle zeigt die Auswirkungen einer bestimmten Hinting-Einstellung auf ausgewählte Zielplattformen.
| PreferDefaultHinting | PreferNoHinting | PreferVerticalHinting | PreferFullHinting | |
|---|---|---|---|---|
| Windows und DirectWrite in Qt aktiviert | Vollständiges Hinting | Vertikales Hinting | Vertikales Hinting | Vollständiges Hinting |
| FreeType | Betriebssystemeinstellung | Kein Hinting | Vertikales Hinting (leicht) | Vollständiges Hinting |
| Cocoa unter macOS | Kein Hinting | Kein Hinting | Kein Hinting | Kein Hinting |
enum QFont::SpacingType
| Konstante | Wert | Beschreibung |
|---|---|---|
QFont::PercentageSpacing | 0 | Bei 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::AbsoluteSpacing | 1 | Ein positiver Wert vergrößert den Buchstabenabstand um die entsprechende Pixelanzahl; ein negativer Wert verringert den Abstand. |
enum QFont::Stretch
Vordefinierte Dehnungswerte, die der CSS-Namenskonvention entsprechen. Je höher der Wert, desto stärker wird der Text gedehnt.
| Konstante | Wert | Beschreibung |
|---|---|---|
QFont::AnyStretch (since Qt 5.8) | 0 | 0 Akzeptiert jede Dehnung, die mithilfe der anderen „ QFont “-Eigenschaften ermittelt wurde |
QFont::UltraCondensed | 50 | 50 |
QFont::ExtraCondensed | 62 | 62 |
QFont::Condensed | 75 | 75 |
QFont::SemiCondensed | 87 | 87 |
QFont::Unstretched | 100 | 100 |
QFont::SemiExpanded | 112 | 112 |
QFont::Expanded | 125 | 125 |
QFont::ExtraExpanded | 150 | 150 |
QFont::UltraExpanded | 200 | 200 |
Siehe auch setStretch() und stretch().
enum QFont::Style
Diese Enumeration beschreibt die verschiedenen Stile von Glyphen, die zur Darstellung von Text verwendet werden.
| Konstante | Wert | Beschreibung |
|---|---|---|
QFont::StyleNormal | 0 | Normale Glyphen, die in Text ohne Formatierung verwendet werden. |
QFont::StyleItalic | 1 | Kursivglyphen, die speziell zur Darstellung von kursivem Text entworfen wurden. |
QFont::StyleOblique | 2 | Glyphen mit kursivem Erscheinungsbild, die in der Regel auf den nicht formatierten Glyphen basieren, jedoch nicht speziell für die Darstellung von kursivem Text optimiert sind. |
Siehe auch „ Weight “.
enum QFont::StyleHint
Stilhinweise werden vom Algorithmus „ font matching “ verwendet, um eine geeignete Standardschriftfamilie zu finden, falls die ausgewählte Schriftfamilie nicht verfügbar ist.
| Konstante | Wert | Beschreibung |
|---|---|---|
QFont::AnyStyle | 5 | Überlässt die Auswahl der Schriftfamilie dem Font-Matching-Algorithmus. Dies ist die Standardeinstellung. |
QFont::SansSerif | Helvetica | Der Schriftart-Matcher bevorzugt serifenlose Schriftarten. |
QFont::Helvetica | 0 | ist ein Synonym für „ SansSerif “. |
QFont::Serif | Times | Der Schriftart-Matcher bevorzugt Serifenschriften. |
QFont::Times | 1 | ist ein Synonym für „ Serif “. |
QFont::TypeWriter | Courier | Der Schriftart-Matcher bevorzugt Schriftarten mit fester Zeichenbreite. |
QFont::Courier | 2 | Ein Synonym für „ TypeWriter “. |
QFont::OldEnglish | 3 | Der Schriftart-Matcher bevorzugt dekorative Schriftarten. |
QFont::Decorative | OldEnglish | ist ein Synonym für „ OldEnglish “. |
QFont::Monospace | 7 | Der Font-Matcher bevorzugt Schriftarten, die der generischen CSS-Schriftfamilie „monospace“ zugeordnet sind. |
QFont::Fantasy | 8 | Der Font-Matcher bevorzugt Schriftarten, die der generischen CSS-Schriftfamilie „fantasy“ zugeordnet sind. |
QFont::Cursive | 6 | Der Schriftart-Matcher bevorzugt Schriftarten, die der generischen CSS-Schriftfamilie „cursive“ zugeordnet sind. |
QFont::System | 4 | Der Schriftart-Matcher bevorzugt Systemschriftarten. |
enum QFont::StyleStrategy
Die Stilstrategie gibt dem Algorithmus „ font matching “ vor, welche Schriftarten verwendet werden sollen, um eine geeignete Standardschriftfamilie zu finden.
Folgende Strategien stehen zur Verfügung:
| Konstant | Wert | Beschreibung |
|---|---|---|
QFont::PreferDefault | 0x0001 | Die Standard-Stilstrategie. Es wird kein bestimmter Schriftarttyp bevorzugt. |
QFont::PreferBitmap | 0x0002 | Bevorzugt Bitmap-Schriftarten (im Gegensatz zu Vektor-Schriftarten). |
QFont::PreferDevice | 0x0004 | Bevorzugt Geräteschriften. |
QFont::PreferOutline | 0x0008 | Bevorzugt Vektor-Schriftarten (im Gegensatz zu Bitmap-Schriftarten). |
QFont::ForceOutline | 0x0010 | Erzwingt die Verwendung von Vektor-Schriftarten. |
QFont::NoAntialias | 0x0100 | Führt kein Antialiasing der Schriftarten durch. |
QFont::NoSubpixelAntialias | 0x0800 | Vermeide nach Möglichkeit Subpixel-Antialiasing bei den Schriftarten. |
QFont::PreferAntialias | 0x0080 | Führt nach Möglichkeit eine Kantenglättung durch. |
QFont::ContextFontMerging (since Qt 6.8) | 0x2000 | Wenn die ausgewählte Schriftart ein bestimmtes Zeichen nicht enthält, wählt Qt automatisch eine ähnlich aussehende Ersatzschriftart aus, die dieses Zeichen enthält. Standardmäßig erfolgt dies Zeichen für Zeichen. Das bedeutet, dass in bestimmten seltenen Fällen mehrere Schriftarten zur Darstellung einer Textzeichenfolge verwendet werden können, selbst wenn diese derselben Schriftart angehört. Durch die Einstellung „ ContextFontMerging “ 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. Ist „ NoFontMerging “ gesetzt, hat „ ContextFontMerging “ keine Auswirkung. |
QFont::PreferTypoLineMetrics (since Qt 6.8) | 0x4000 | Aus Kompatibilitätsgründen enthalten OpenType-Schriftarten zwei konkurrierende Sätze vertikaler Linienmetriken, die die Werte für „ ascent “, „ descent “ und „ leading “ der Schriftart bereitstellen. Diese werden oft als „Win“-Metriken (Windows) und „Typo“-Metriken (typografisch) 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 stellt kein Problem dar für Schriftarten, bei denen das Flag „ USE_TYPO_METRICS “ gesetzt ist, um anzugeben, dass die Metriken „ typo “ gültig sind, sowie für Schriftarten, bei denen die Metriken „ win “ und „ typo “ übereinstimmen. Bei bestimmten Schriftarten können die Metriken „ win “ jedoch größer sein als der bevorzugte Zeilenabstand, und das Flag „ USE_TYPO_METRICS “ ist möglicherweise versehentlich nicht gesetzt. Bei solchen Schriftarten kann das Setzen von „ PreferTypoLineMetrics “ zu besseren Ergebnissen führen. |
QFont::NoFontMerging | 0x8000 | Wenn die für ein bestimmtes Schriftsystem ausgewählte Schriftart ein Zeichen nicht enthält, das gezeichnet werden soll, wählt Qt automatisch eine ähnlich aussehende Schriftart aus, die dieses Zeichen enthält. Das Flag „NoFontMerging“ deaktiviert diese Funktion. Bitte beachten Sie, dass die Aktivierung dieses Flags Qt nicht daran hindert, automatisch eine geeignete Schriftart auszuwählen, wenn die ausgewählte Schriftart das Schriftsystem des Textes nicht unterstützt. |
QFont::PreferNoShaping | 0x1000 | 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. Das Flag „PreferNoShaping“ deaktiviert alle derartigen Funktionen, wenn sie nicht erforderlich sind, was in den meisten Fällen zu einer Leistungssteigerung führt (seit Qt 5.10). |
Jedes dieser Flags kann mit einem der folgenden Flags verknüpft werden:
| Konstante | Wert | Beschreibung |
|---|---|---|
QFont::PreferMatch | 0x0020 | Bevorzugt eine exakte Übereinstimmung. Der Schriftart-Matcher versucht, genau die angegebene Schriftgröße zu verwenden. |
QFont::PreferQuality | 0x0040 | Bevorzugt die Schriftart mit der besten Qualität. Der Schriftart-Matcher verwendet die nächstgelegene Standardpunktgröße, die von der Schriftart unterstützt wird. |
enum QFont::Weight
Qt verwendet eine mit OpenType kompatible Skala von 1 bis 1000. Eine Stärke von 1 entspricht einer dünnen Schrift, während 1000 eine extrem fette Schrift darstellt.
Diese Aufzählung enthält die vordefinierten Schriftstärken:
| Konstante | Wert | Beschreibung |
|---|---|---|
QFont::Thin | 100 | 100 |
QFont::ExtraLight | 200 | 200 |
QFont::Light | 300 | 300 |
QFont::Normal | 400 | 400 |
QFont::Medium | 500 | 500 |
QFont::DemiBold | 600 | 600 |
QFont::Bold | 700 | 700 |
QFont::ExtraBold | 800 | 800 |
QFont::Black | 900 | 900 |
Dokumentation zu Member-Funktionen
QFont::QFont()
Erstellt ein Schriftart-Objekt, das die Standardschriftart der Anwendung verwendet.
Siehe auch „ QGuiApplication::setFont()“ und „ QGuiApplication::font()“.
QFont::QFont(const QFont &font, const QPaintDevice *pd)
Erstellt eine Schriftart aus „ font “ zur Verwendung auf dem Zeichen-Device „ pd “.
QFont::QFont(const QString &family, int pointSize = -1, int weight = -1, bool italic = false)
Erstellt ein Schriftartobjekt mit den angegebenen Einstellungen für „ family “, „ pointSize “, „ weight “ und „ italic “.
Ist pointSize gleich Null oder negativ, wird die Punktgröße der Schriftart auf einen systemabhängigen Standardwert gesetzt. In der Regel beträgt dieser 12 Punkte.
Der Name „ family “ kann optional auch einen Herstellerangabe enthalten, z. B. „Helvetica [Cronyx]“. Wenn die Schriftart „ family “ von mehr als einem Hersteller verfügbar ist und kein Hersteller angegeben wurde, wird ein beliebiger Hersteller ausgewählt. Ist die Schriftfamilie nicht verfügbar, wird mithilfe des Algorithmus „ font matching “ eine Familie festgelegt.
Dabei wird die Familienzeichenfolge an einem Komma aufgeteilt und setFamilies() mit der resultierenden Liste aufgerufen. Um eine Schriftart zu erhalten, deren Name ein Komma enthält, verwenden Sie den Konstruktor, der eine QStringList akzeptiert.
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)
Erstellt ein Schriftartobjekt mit den angegebenen Einstellungen für „ families “, „ pointSize “, „ weight “ und „ italic “.
Ist pointSize gleich Null oder negativ, wird die Punktgröße der Schriftart auf einen systemabhängigen Standardwert gesetzt. In der Regel beträgt dieser 12 Punkt.
Jeder Eintrag für einen Schriftfamiliennamen in „ families “ kann optional auch einen Herstellerangabe enthalten, z. B. „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 „ font matching “ eine Schriftfamilie festgelegt.
Siehe auch Weight, setPointSize(), setWeight(), setItalic(), setStyleHint(), setFamilies() und QGuiApplication::font().
QFont::QFont(const QFont &font)
Erstellt eine Schriftart, die eine Kopie von „ font “ ist.
[constexpr noexcept default] QFont::QFont(QFont &&)
Erzeugt eine Instanz von „ QFont “.
[noexcept] QFont::~QFont()
Löscht das Schriftart-Objekt und gibt alle zugewiesenen Ressourcen frei.
bool QFont::bold() const
Gibt „ true “ zurück, wenn „ weight()“ einen Wert größer als „ QFont::Medium “ hat; andernfalls wird „ false “ zurückgegeben.
Siehe auch weight(), setBold() und QFontInfo::bold().
QFont::Capitalization QFont::capitalization() const
Gibt den aktuellen Großschreibungsstil der Schriftart zurück.
Siehe auch „ setCapitalization()“.
[since 6.7] void QFont::clearFeatures()
Löscht alle zuvor festgelegten Schriftmerkmale auf der Seite „ QFont “.
Weitere Informationen zu Schriftart-Features finden Sie unter ` setFeature()`.
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 festgelegten Werte für variable Achsen auf dem „ QFont “.
Weitere Informationen zu variablen Achsen finden Sie unter „ setVariableAxis()“.
Diese Funktion wurde in Qt 6.7 eingeführt.
Siehe auch „ QFont::Tag“ , „ setVariableAxis()“, „ unsetVariableAxis()“, „ isVariableAxisSet()“ und „ variableAxisValue()“.
QString QFont::defaultFamily() const
Gibt den Namen der Schriftfamilie zurück, der dem aktuellen Stilhinweis entspricht.
Siehe auch „ StyleHint“ , „ styleHint()“ und „ setStyleHint()“.
bool QFont::exactMatch() const
Gibt „ true “ zurück, wenn eine Windows-Systemschriftart 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 festgelegt wurden. Andernfalls wird eine leere Liste zurückgegeben.
Siehe auch ` setFamily()`, ` setFamilies()`, ` family()`, ` substitutes()` und ` substitute()`.
QString QFont::family() const
Gibt den Namen der angeforderten Schriftfamilie zurück. Dieser entspricht immer dem ersten Eintrag im Aufruf von families().
Siehe auch setFamily(), substitutes(), substitute(), setFamilies() und families().
[since 6.7] QList<QFont::Tag> QFont::featureTags() const
Gibt eine Liste der Tags für alle derzeit für dieses „ QFont “ festgelegten Schriftmerkmale zurück.
Weitere Informationen zu Schriftartenmerkmalen finden Sie unter „ setFeature()“.
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 festgelegten Wert zurück tag. Wenn das Tag nicht gesetzt wurde, wird stattdessen 0 zurückgegeben.
Weitere Informationen zu Schriftartenfunktionen finden Sie unter ` setFeature()`.
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 eine feste Schrittweite festgelegt wurde; andernfalls wird „ false “ zurückgegeben.
Siehe auch setFixedPitch() und QFontInfo::fixedPitch().
bool QFont::fromString(const QString &descrip)
Stellt diese Schriftart so ein, dass sie der Beschreibung unter descrip entspricht. Die Beschreibung ist eine durch Kommas getrennte Liste der Schriftattribute, wie sie von toString() zurückgegeben wird.
Siehe auch toString().
QFont::HintingPreference QFont::hintingPreference() const
Gibt die derzeit 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 Ersetzungstabelle für die Familie „ familyName “ ein.
Lösen Sie nach dem Ersetzen einer Schriftart die Aktualisierung der Schriftart aus, indem Sie alle Objekte vom Typ „ QFont “ löschen und neu anlegen.
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 Objekte vom Typ ` QFont ` löschen 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., wenn eine von beiden als Kopie der anderen erstellt wurde und seitdem keine der beiden geändert wurde. Dies ist wesentlich strenger als die Gleichheit.
Siehe auch operator=() und operator==().
[since 6.7] bool QFont::isFeatureSet(QFont::Tag tag) const
Gibt „true“ zurück, wenn für die durch „ tag “ angegebene Eigenschaft ein Wert in der „ QFont “ festgelegt wurde; andernfalls wird „false“ zurückgegeben.
Weitere Informationen zu Schriftmerkmalen finden Sie unter setFeature().
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 für die Variable „axis“, die durch tag angegeben wird, ein Wert in der QFont festgelegt wurde; andernfalls wird „false“ zurückgegeben.
Weitere Informationen zu den Achsen der Schriftartvariablen finden Sie unter „ setVariableAxis()“.
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 Funktion „ style()“ der Schriftart nicht QFont::StyleNormal
Siehe auch setItalic() und style().
bool QFont::kerning() const
Gibt „ true “ zurück, wenn beim Zeichnen von Text mit dieser Schriftart Kerning verwendet werden soll.
Siehe auch setKerning().
QString QFont::key() const
Gibt den Schlüssel der Schriftart zurück, also eine textuelle Darstellung einer Schriftart. Er wird in der Regel als Schlüssel für einen Cache oder ein Verzeichnis 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 den Buchstabenabstand verwendeten Abstandstyp zurück.
Siehe auch letterSpacing(), setLetterSpacing() und setWordSpacing().
bool QFont::overline() const
Gibt „ true “ zurück, wenn „overline“ gesetzt wurde; andernfalls wird „ false “ zurückgegeben.
Siehe auch ` setOverline()`.
int QFont::pixelSize() const
Gibt die Pixelgröße der Schriftart zurück, sofern diese 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 Schriftart zurück. Gibt -1 zurück, wenn die Schriftgröße in Pixeln angegeben wurde.
Siehe auch setPointSize() und pointSizeF().
qreal QFont::pointSizeF() const
Gibt die Punktgröße der Schriftart zurück. Gibt -1 zurück, wenn die Schriftgröße in Pixeln 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 ein neues ` QFont ` zurück, dessen Attribute aus ` other ` kopiert wurden und die zuvor für diese Schriftart noch nicht festgelegt wurden.
void QFont::setBold(bool enable)
Wenn „ enable “ wahr ist, wird die Schriftstärke auf „ QFont::Bold “ gesetzt; andernfalls wird die Schriftstärke auf „ QFont::Normal “ gesetzt.
Für eine feinere Steuerung der Fettstärke verwenden Sie „ setWeight()“.
Hinweis: Wenn „ styleName()“ gesetzt ist, wird dieser Wert möglicherweise ignoriert oder – sofern von der Plattform unterstützt – die Schriftart künstlich fettgestellt.
Siehe auch bold() und setWeight().
void QFont::setCapitalization(QFont::Capitalization caps)
Legt die Großschreibung des Textes in dieser Schriftart auf „ caps “ fest.
Die Großschreibung einer Schriftart bewirkt, dass der Text im ausgewählten Großschreibungsmodus angezeigt wird.
Siehe auch „ capitalization()“.
void QFont::setFamilies(const QStringList &families)
Legt die Liste der Schriftfamiliennamen für die Schriftart fest. Bei den Namen wird die Groß-/Kleinschreibung nicht berücksichtigt, und sie können einen Namen des Schriftentwicklers enthalten. Die erste Familie unter families wird als Hauptfamilie für die Schriftart festgelegt.
Jeder Eintrag für einen Schriftfamiliennamen in „ families “ kann optional auch einen Namen des Schriftherstellers enthalten, z. B. „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 „ font matching “ eine Schriftfamilie festgelegt.
Siehe auch family(), families(), setFamily(), setStyleHint() und QFontInfo.
void QFont::setFamily(const QString &family)
Legt den Familiennamen der Schriftart fest. Bei der Schreibweise des Namens wird die Groß-/Kleinschreibung nicht berücksichtigt, und er kann einen Schriftgießereinamen enthalten.
Der Name „ family “ kann optional auch einen Hersteller-Namen enthalten, z. B. „Helvetica [Cronyx]“. Wenn die Schriftfamilie „ family “ von mehr als einem Hersteller verfügbar ist und der Hersteller nicht angegeben wird, wird ein beliebiger Hersteller ausgewählt. Ist die Schriftfamilie nicht verfügbar, wird mithilfe des Algorithmus „ font matching “ eine Schriftfamilie festgelegt.
Siehe auch „ family()“, „ setStyleHint()“, „ setFamilies()“, „ families()“ und „ QFontInfo “.
[since 6.7] void QFont::setFeature(QFont::Tag tag, quint32 value)
Wendet bei der Textgestaltung einen ganzzahligen Wert auf das durch „ tag “ angegebene typografische Merkmal an. Dies ermöglicht einen erweiterten Zugriff auf den Prozess der Schriftgestaltung und kann zur Unterstützung von Schriftmerkmalen genutzt werden, die ansonsten nicht von der API abgedeckt sind.
Das Merkmal wird durch ein „ tag “ angegeben, das in der Regel aus dem vierstelligen Merkmalsnamen in der Schriftart-Merkmalszuordnung kodiert wird.
Diese ganzzahlige „ value “, die in den meisten Fällen zusammen mit dem Tag übergeben wird, stellt einen booleschen Wert dar: Der Wert Null bedeutet, dass das Merkmal deaktiviert ist, und ein Wert ungleich Null bedeutet, dass es aktiviert ist. Bei bestimmten Schriftmerkmalen kann dies jedoch anders interpretiert werden. Bei Anwendung auf das Merkmal „ salt “ ist der Wert beispielsweise ein Index, der die zu verwendende stilistische Alternative angibt.
Die Schriftartfunktion „ 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 „eingebacken“ (wie z. B. „ ½ “).
Wenn eine Schriftart die Funktion „ frac “ unterstützt, kann diese im Shaper aktiviert werden, indem in der Schriftart-Funktionszuordnung der Wert „ features["frac"] = 1 “ festgelegt wird.
Hinweis: Standardmäßig aktiviert und deaktiviert Qt bestimmte Schriftartfunktionen basierend auf anderen Schriftarteigenschaften. Insbesondere wird die Funktion „ kern “ je nach der Eigenschaft „ kerning()“ des „ QFont “ aktiviert bzw. deaktiviert. Zudem werden alle Ligaturfunktionen (liga, clig, dlig, hlig) deaktiviert, wenn ein „ letterSpacing()“ angewendet wird – allerdings nur für Schriftsysteme, in denen die Verwendung von Ligaturen rein kosmetischer Natur ist. Bei Schriftsystemen, in denen Ligaturen erforderlich sind, bleiben die Funktionen in ihrem Standardzustand. Die mit `setFeature()` und verwandten Funktionen festgelegten Werte überschreiben das Standardverhalten. Wenn beispielsweise die Funktion „kern“ auf 1 gesetzt ist, ist das Kerning immer aktiviert, unabhängig davon, ob die Eigenschaft „kerning“ auf „false“ gesetzt ist. Ebenso ist es bei einer Einstellung von 0 immer deaktiviert. Um eine Schriftartfunktion auf ihr Standardverhalten zurückzusetzen, können Sie sie mit „ unsetFeature()“ zurücksetzen.
Diese Funktion wurde in Qt 6.7 eingeführt.
Siehe auch „ QFont::Tag“ , „ clearFeatures()“, „ unsetFeature()“ und „ featureTags()“.
void QFont::setFixedPitch(bool enable)
Wenn „ enable “ wahr ist, wird die feste Tonhöhe aktiviert; andernfalls wird sie deaktiviert.
Siehe auch „ fixedPitch()“ und „ QFontInfo “.
void QFont::setHintingPreference(QFont::HintingPreference hintingPreference)
Stellen Sie die Einstellung für den Hinting-Grad der Glyphen auf „ hintingPreference “ ein. Dies ist ein Hinweis an das zugrunde liegende Schriftart-Rendering-System, einen bestimmten Hinting-Grad zu verwenden, und wird von den verschiedenen Plattformen unterschiedlich unterstützt. Weitere Informationen finden Sie in der Tabelle in der Dokumentation unter QFont::HintingPreference.
Die Standard-Hinting-Einstellung ist „ QFont::PreferDefaultHinting “.
Siehe auch hintingPreference().
void QFont::setItalic(bool enable)
Setzt die Eigenschaft „ style()“ der Schriftart auf „ QFont::StyleItalic “, wenn „ enable “ wahr ist; andernfalls wird der Stil auf „ QFont::StyleNormal “ gesetzt.
Hinweis: Wenn „ styleName “ () festgelegt ist, wird dieser Wert möglicherweise ignoriert, oder – sofern dies auf der Plattform unterstützt wird – wird die Schriftart möglicherweise geneigt dargestellt, anstatt eine vorgesehene kursive Schriftvariante zu wählen.
Siehe auch „ italic()“ und „ QFontInfo “.
void QFont::setKerning(bool enable)
Aktiviert das Kerning für diese Schriftart, wenn „ enable “ auf „true“ gesetzt ist; andernfalls wird es deaktiviert. Standardmäßig ist das Kerning aktiviert.
Wenn das Kerning aktiviert ist, addieren sich die Glyphenmaße nicht mehr, selbst bei lateinischem Text. Mit anderen Worten: Die Annahme, dass width('a') + width('b') gleich width("ab") ist, trifft nicht unbedingt zu.
Siehe auch „ kerning()“ und „ QFontMetrics “.
void QFont::setLetterSpacing(QFont::SpacingType type, qreal spacing)
Stellt den Buchstabenabstand für die Schriftart auf „ spacing “ und die Art des Abstands auf „ type “ ein.
Der Buchstabenabstand verändert den Standardabstand zwischen den einzelnen Buchstaben der Schriftart. Der Abstand zwischen den Buchstaben kann je nach ausgewähltem Abstandstyp sowohl verringert als auch vergrößert werden, entweder in Prozent der Zeichenbreite oder in Pixeln.
Siehe auch letterSpacing(), letterSpacingType() und setWordSpacing().
void QFont::setOverline(bool enable)
Wenn „ enable “ wahr ist, wird die Durchstreichung aktiviert; andernfalls wird sie deaktiviert.
Siehe auch „ overline()“ und „ QFontInfo “.
void QFont::setPixelSize(int pixelSize)
Stellt die Schriftgröße auf pixelSize Pixel ein, wobei die maximale Größe durch eine vorzeichenlose 16-Bit-Ganzzahl begrenzt ist.
Die Verwendung dieser Funktion macht die Schriftart geräteabhängig. Verwenden Sie „ setPointSize()“ oder „ setPointSizeF()“, um die Größe der Schriftart geräteunabhängig festzulegen.
Siehe auch ` pixelSize()`.
void QFont::setPointSize(int pointSize)
Stellt die Punktgröße auf „ pointSize “ ein. Die Punktgröße muss größer als Null sein.
Siehe auch „ pointSize()“ und „ setPointSizeF()“.
void QFont::setPointSizeF(qreal pointSize)
Stellt die Punktgröße auf pointSize ein. Die Punktgröße muss größer als Null sein. Die gewünschte Genauigkeit kann möglicherweise nicht auf allen Plattformen erreicht werden.
Siehe auch pointSizeF(), setPointSize() und setPixelSize().
void QFont::setStretch(int factor)
Legt den Stretch-Faktor für die Schriftart fest.
Der Stretch-Faktor entspricht einer komprimierten oder erweiterten Version der Schriftart oder wendet eine Stretch-Transformation an, die die Breite aller Zeichen in der Schriftart um factor Prozent verändert. Wenn Sie beispielsweise „ factor “ auf 150 setzen, werden alle Zeichen der Schriftart 1,5-mal (d. h. 150 %) breiter. Der minimale Dehnungsfaktor beträgt 1, der maximale Dehnungsfaktor 4000. Der Standard-Dehnungsfaktor ist „ AnyStretch “, wodurch jeder Dehnungsfaktor akzeptiert wird und keine Transformation auf die Schriftart angewendet wird.
Der Streckungsfaktor wird nur auf Kontur-Schriftarten angewendet. Bei Bitmap-Schriftarten wird der Streckungsfaktor ignoriert.
Hinweis: Bei der Anpassung einer Schriftart mit einem nativen, nicht standardmäßigen Streckfaktor wird diese durch die Anforderung eines Streckfaktors von 100 wieder auf eine Schriftart mittlerer Breite gestreckt.
Siehe auch „ stretch()“ und „ QFont::Stretch “.
void QFont::setStrikeOut(bool enable)
Wenn „ enable “ wahr ist, wird „strikeout“ aktiviert; andernfalls wird „strikeout“ deaktiviert.
Siehe auch „ strikeOut()“ und „ QFontInfo “.
void QFont::setStyle(QFont::Style style)
Legt den Schriftstil auf „ style “ fest.
Siehe auch „ style()“, „ italic()“ und „ QFontInfo “.
void QFont::setStyleHint(QFont::StyleHint hint, QFont::StyleStrategy strategy = PreferDefault)
Legt den Stilhinweis und die Stilstrategie auf „ hint “ bzw. „ strategy “ fest.
Wenn diese nicht explizit festgelegt sind, wird der Stilhinweis standardmäßig auf „ AnyStyle “ und die Stilstrategie auf „ PreferDefault “ gesetzt.
Qt unterstützt keine Stilhinweise unter X11, da diese Informationen vom Fenstersystem nicht bereitgestellt werden.
Siehe auch StyleHint, styleHint(), StyleStrategy, styleStrategy() und QFontInfo.
void QFont::setStyleName(const QString &styleName)
Legt den Stilnamen der Schriftart auf „ styleName “ fest. Bei dieser Einstellung werden andere Stileigenschaften wie „ style()“ und „ weight()“ bei der Schriftartzuordnung ignoriert, können jedoch anschließend simuliert werden, sofern dies von der Schriftart-Engine der Plattform unterstützt wird.
Aufgrund der geringeren Qualität künstlich simulierter Stile und der fehlenden vollständigen plattformübergreifenden Unterstützung wird davon abgeraten, den Abgleich nach Stilnamen zusammen mit dem Abgleich nach Stileigenschaften zu verwenden
Siehe auch ` styleName()`.
void QFont::setStyleStrategy(QFont::StyleStrategy s)
Legt die Stilstrategie für die Schriftart auf „ s “ fest.
Siehe auch „ styleStrategy()“ und „ QFont::StyleStrategy “.
void QFont::setUnderline(bool enable)
Wenn „ enable “ wahr ist, wird die Unterstreichung aktiviert; andernfalls wird sie deaktiviert.
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 „ tag “ entspricht.
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 in Qt können diese mithilfe von ` setStyleName()` genau wie herkömmliche Unterfamilien ausgewählt werden.
In einigen Fällen ist es auch sinnvoll, beliebige Werte für die verschiedenen Achsen anzugeben. Wenn eine Schriftart beispielsweise eine „Regular“- und eine „Bold“-Unterfamilie hat, möchten Sie vielleicht eine Strichstärke dazwischen. Dies könnten Sie dann manuell anfordern, indem Sie einen benutzerdefinierten Wert für die „wght“-Achse der Schriftart angeben.
Wenn die „wght“-Achse von der Schriftart unterstützt wird und der angegebene Wert innerhalb des definierten Bereichs liegt, wird eine Schriftart bereitgestellt, die der Strichstärke 550,0 entspricht.
Es gibt einige Standardachsen, die von vielen Schriftarten bereitgestellt werden, wie beispielsweise „wght“ (Strichstärke), „wdth“ (Breite), „ital“ (Kursiv) und „opsz“ (optische Größe). Für jede dieser Achsen sind in der Schriftart selbst individuelle Bereiche definiert. Beispielsweise kann „wght“ im Bereich von 100 bis 900 (QFont::Thin bis QFont::Black) liegen, während „ital“ im Bereich von 0 bis 1 (von nicht kursiv bis vollständig kursiv) liegen kann.
Eine Schriftart kann auch benutzerdefinierte Achsen festlegen; die einzige Einschränkung besteht darin, dass der Name den Anforderungen an eine „ QFont::Tag “ (eine Folge von vier Latin-1-Zeichen) entsprechen 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 Funktion wurde in Qt 6.7 eingeführt.
Siehe auch „ unsetVariableAxis “.
void QFont::setWeight(QFont::Weight weight)
Legt die Schriftstärke auf „ weight “ fest und verwendet dabei die durch die Aufzählung „ QFont::Weight “ definierte Skalierung.
Hinweis: Wenn ` styleName()` gesetzt ist, wird dieser Wert bei der Schriftartauswahl möglicherweise ignoriert.
Siehe auch ` weight()` und ` QFontInfo`.
void QFont::setWordSpacing(qreal spacing)
Legt den Wortabstand für die Schriftart auf „ spacing “ fest.
Der Wortabstand verändert den Standardabstand zwischen einzelnen Wörtern. Ein positiver Wert vergrößert den Wortabstand um die entsprechende Anzahl an Pixeln, während ein negativer Wert den Wortabstand entsprechend verringert.
Der Wortabstand gilt nicht für Schriftsysteme, in denen einzelne Wörter nicht durch Leerzeichen getrennt sind.
Siehe auch „ wordSpacing “ () und „ setLetterSpacing “ ().
int QFont::stretch() const
Gibt den Stretch-Faktor für die Schriftart 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 den „ StyleHint “ zurück.
Der Stilhinweis wirkt sich auf das ` 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 den Wert „ StyleStrategy “ zurück.
Die Stilstrategie wirkt sich auf den Algorithmus „ font matching “ aus. Eine Liste der verfügbaren Strategien finden Sie unter QFont::StyleStrategy.
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 wird. Bei der Suche wird die Groß-/Kleinschreibung nicht berücksichtigt.
Wenn für ` familyName` keine Ersetzung vorhanden ist, 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 soll, wenn „ familyName “ angegeben wird. Bei der Suche wird die Groß-/Kleinschreibung nicht berücksichtigt.
Wenn für ` familyName` keine Ersetzung vorhanden ist, wird eine leere Liste zurückgegeben.
Siehe auch „ substitute()“, „ insertSubstitutions()“, „ insertSubstitution()“ und „ removeSubstitutions()“.
[static] QStringList QFont::substitutions()
Gibt eine sortierte Liste der ersetzten Familiennamen zurück.
Siehe auch insertSubstitution(), removeSubstitutions() und substitute().
[noexcept] void QFont::swap(QFont &other)
Ersetzt diese Schriftartinstanz durch „ other “. Dieser Vorgang ist sehr schnell und schlägt niemals fehl.
QString QFont::toString() const
Gibt eine Beschreibung der Schriftart zurück. Die Beschreibung ist eine durch Kommas getrennte Liste der Attribute, die sich ideal für die Verwendung in QSettings eignet und aus folgenden Elementen besteht:
- Schriftfamilie
- Schriftgröße
- Pixelgröße
- Stilhinweis
- Schriftstärke
- Schriftstil
- Unterstreichung
- Durchgestrichen
- Festbreite
- Immer 0
- Großschreibung
- Buchstabenabstand
- Wortabstand
- Dehnung
- Stilstrategie
- Schriftart
- Schriftmerkmale
- Variable Achsen
Siehe auch „ fromString“ ().
bool QFont::underline() const
Gibt „ true “ zurück, wenn „underline“ gesetzt wurde; andernfalls gibt es „ false “ zurück.
Siehe auch setUnderline().
[since 6.7] void QFont::unsetFeature(QFont::Tag tag)
Entfernt die „ tag “ aus der Zuordnung der explizit aktivierten bzw. deaktivierten Funktionen.
Hinweis: Selbst wenn die Funktion zuvor noch nicht hinzugefügt wurde, wird die Schriftart-Funktionsliste in diesem „ QFont “ dadurch als geändert markiert, sodass sie bei der Zuordnung zu anderen Schriftarten Vorrang hat.
Das Aufheben eines bestehenden Merkmals in der „ QFont “ setzt das Verhalten auf die Standardeinstellung zurück.
Weitere Details zu Schriftartfunktionen finden Sie unter setFeature().
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)
Hebt einen zuvor festgelegten Wert für eine variable Achse auf, der durch „ tag “ angegeben wurde.
Hinweis: Wenn für dieses Tag zuvor kein Wert angegeben wurde, betrachtet „ QFont “ seine variablen Achsen beim Abgleich mit anderen „ QFont “-Werten dennoch als festgelegt.
Diese Funktion wurde in Qt 6.7 eingeführt.
Siehe auch „ setVariableAxis “.
[since 6.7] QList<QFont::Tag> QFont::variableAxisTags() const
Gibt eine Liste der Tags für alle derzeit auf diesem „ QFont “ festgelegten variablen Achsen zurück.
Weitere Informationen zu variablen Achsen finden Sie unter ` setVariableAxis()`.
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 Variablenachse festgelegten Wert zurück: tag. Wenn das Tag nicht gesetzt wurde, wird stattdessen 0,0 zurückgegeben.
Weitere Informationen zu variablen Achsen finden Sie unter ` setVariableAxis()`.
Diese Funktion wurde in Qt 6.7 eingeführt.
Siehe auch QFont::Tag, setVariableAxis(), unsetVariableAxis(), isVariableAxisSet() und clearVariableAxes().
QFont::Weight QFont::weight() const
Gibt die Schriftstärke zurück, wobei dieselbe 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()“.
QFont::operator QVariant() const
Gibt die Schriftart als QVariant
bool QFont::operator!=(const QFont &f) const
Gibt „ true “ zurück, wenn sich diese Schriftart von „ f “ unterscheidet; andernfalls wird „ false “ zurückgegeben.
Zwei QFonts gelten als unterschiedlich, wenn sich ihre Schriftattribute unterscheiden.
Siehe auch operator==().
bool QFont::operator<(const QFont &f) const
Bietet einen beliebigen Vergleich dieser Schriftart mit der Schriftart f. Es wird lediglich garantiert, dass der Operator false zurückgibt, wenn beide Schriftarten gleich sind, und dass (f1 < f2) == !(f2 < f1) gilt, wenn die Schriftarten nicht gleich sind.
Diese Funktion ist unter bestimmten Umständen nützlich, beispielsweise wenn Sie Objekte vom Typ „ QFont “ als Schlüssel in einem „ QMap “ verwenden möchten.
Siehe auch „ operator==()“, „ operator!=()“ und „ isCopyOf()“.
[noexcept] QFont &QFont::operator=(QFont &&other)
Weist „ other “ dieser „ QFont “-Instanz zu.
QFont &QFont::operator=(const QFont &font)
Weist dieser Schriftart „ font “ zu und gibt eine Referenz darauf zurück.
bool QFont::operator==(const QFont &f) const
Gibt „ true “ zurück, wenn diese Schriftart mit „ f “ übereinstimmt; andernfalls wird „false“ zurückgegeben.
Zwei QFonts gelten als gleich, wenn ihre Schriftartattribute identisch 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 Schriftart „ font “ in den Datenstrom „ s “. (Die Funktion „toString()“ schreibt in einen Textstrom.)
Siehe auch Format der QDataStream-Operatoren.
QDataStream &operator>>(QDataStream &s, QFont &font)
Liest die Schriftart „ font “ aus dem Datenstrom „ s “. (Die Funktion „fromString()“ liest aus einem Textstrom.)
Siehe auch Format der QDataStream-Operatoren.
© 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.