En esta página

QFontDatabase Class

La clase QFontDatabase proporciona información sobre las fuentes disponibles en el sistema de ventanas subyacente. Más...

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

Nota: Todas las funciones de esta clase son thread-safe.

Tipos públicos

enum SystemFont { GeneralFont, FixedFont, TitleFont, SmallestReadableFont }
enum WritingSystem { Any, Latin, Greek, Cyrillic, Armenian, …, Nko }

Miembros públicos estáticos

(since 6.9) void addApplicationEmojiFontFamily(const QString &familyName)
(since 6.8) void addApplicationFallbackFontFamily(QChar::Script script, const QString &familyName)
int addApplicationFont(const QString &fileName)
int addApplicationFontFromData(const QByteArray &fontData)
(since 6.9) QStringList applicationEmojiFontFamilies()
(since 6.8) QStringList applicationFallbackFontFamilies(QChar::Script script)
QStringList applicationFontFamilies(int id)
bool bold(const QString &family, const QString &style)
QStringList families(QFontDatabase::WritingSystem writingSystem = Any)
QFont font(const QString &family, const QString &style, int pointSize)
bool isBitmapScalable(const QString &family, const QString &style = QString())
bool isFixedPitch(const QString &family, const QString &style = QString())
bool isPrivateFamily(const QString &family)
bool isScalable(const QString &family, const QString &style = QString())
bool isSmoothlyScalable(const QString &family, const QString &style = QString())
bool italic(const QString &family, const QString &style)
QList<int> pointSizes(const QString &family, const QString &styleName = QString())
bool removeAllApplicationFonts()
(since 6.9) bool removeApplicationEmojiFontFamily(const QString &familyName)
(since 6.8) bool removeApplicationFallbackFontFamily(QChar::Script script, const QString &familyName)
bool removeApplicationFont(int id)
(since 6.9) void setApplicationEmojiFontFamilies(const QStringList &familyNames)
(since 6.8) void setApplicationFallbackFontFamilies(QChar::Script script, const QStringList &familyNames)
QList<int> smoothSizes(const QString &family, const QString &styleName)
QList<int> standardSizes()
QString styleString(const QFont &font)
QString styleString(const QFontInfo &fontInfo)
QStringList styles(const QString &family)
QFont systemFont(QFontDatabase::SystemFont type)
int weight(const QString &family, const QString &style)
QString writingSystemName(QFontDatabase::WritingSystem writingSystem)
QString writingSystemSample(QFontDatabase::WritingSystem writingSystem)
QList<QFontDatabase::WritingSystem> writingSystems()
QList<QFontDatabase::WritingSystem> writingSystems(const QString &family)

Descripción detallada

Los usos más comunes de esta clase son consultar la base de datos para obtener la lista de fuentes families() y las pointSizes() y styles() que están disponibles para cada familia. Una alternativa a pointSizes() es smoothSizes(), que devuelve los tamaños a los que una familia y un estilo determinados resultarán atractivos.

Si la familia tipográfica está disponible en dos o más fundiciones, el nombre de la fundición se incluye en el nombre de la familia; por ejemplo: "Helvetica [Adobe]" y "Helvetica [Cronyx]". Cuando especifique una familia, puede utilizar el antiguo formato "familia-fundición" con guión o el formato "familia [fundición]" entre corchetes; por ejemplo: "Cronyx-Helvetica" o "Helvetica [Cronyx]". Si la familia tiene una fundición, siempre se devuelve utilizando el formato entre corchetes, como es el caso del valor devuelto por families().

La función font() devuelve una QFont dada una familia, un estilo y un tamaño de punto.

Se puede comprobar si una combinación de familia y estilo es italic() o bold(), y recuperar su weight(). Del mismo modo, podemos llamar a isBitmapScalable(), isSmoothlyScalable(), isScalable() y isFixedPitch().

Utilice styleString() para obtener una versión de texto de un estilo.

La clase QFontDatabase proporciona algunas funciones de ayuda, por ejemplo, standardSizes(). Puede recuperar la descripción de un sistema de escritura utilizando writingSystemName(), y una muestra de caracteres de un sistema de escritura con writingSystemSample().

Ejemplo:

QTreeWidget fontTree;
fontTree.setColumnCount(2);
fontTree.setHeaderLabels(QStringList() << "Font" << "Smooth Sizes");

const QStringList fontFamilies = QFontDatabase::families();
for (const QString &family : fontFamilies) {
    QTreeWidgetItem *familyItem = new QTreeWidgetItem(&fontTree);
    familyItem->setText(0, family);

    const QStringList fontStyles = QFontDatabase::styles(family);
    for (const QString &style : fontStyles) {
        QTreeWidgetItem *styleItem = new QTreeWidgetItem(familyItem);
        styleItem->setText(0, style);

        QString sizes;
        const QList<int> smoothSizes = QFontDatabase::smoothSizes(family, style);
        for (const auto &points : smoothSizes)
            sizes += QString::number(points) + ' ';

        styleItem->setText(1, sizes.trimmed());
    }
}

Este ejemplo obtiene la lista de familias de fuentes, la lista de estilos para cada familia, y los tamaños de punto que están disponibles para cada combinación de familia y estilo, mostrando esta información en una vista de árbol.

Véase también QFont, QFontInfo, y QFontMetrics.

Documentación del tipo de miembro

enum QFontDatabase::SystemFont

ConstanteValorDescripción
QFontDatabase::GeneralFont0La fuente por defecto del sistema.
QFontDatabase::FixedFont1La fuente fija que recomienda el sistema.
QFontDatabase::TitleFont2La fuente estándar del sistema para los títulos.
QFontDatabase::SmallestReadableFont3La fuente más pequeña legible del sistema.

enum QFontDatabase::WritingSystem

ConstanteValorDescripción
QFontDatabase::Any0
QFontDatabase::Latin1
QFontDatabase::Greek2
QFontDatabase::Cyrillic3
QFontDatabase::Armenian4
QFontDatabase::Hebrew5
QFontDatabase::Arabic6
QFontDatabase::Syriac7
QFontDatabase::Thaana8
QFontDatabase::Devanagari9
QFontDatabase::Bengali10
QFontDatabase::Gurmukhi11
QFontDatabase::Gujarati12
QFontDatabase::Oriya13
QFontDatabase::Tamil14
QFontDatabase::Telugu15
QFontDatabase::Kannada16
QFontDatabase::Malayalam17
QFontDatabase::Sinhala18
QFontDatabase::Thai19
QFontDatabase::Lao20
QFontDatabase::Tibetan21
QFontDatabase::Myanmar22
QFontDatabase::Georgian23
QFontDatabase::Khmer24
QFontDatabase::SimplifiedChinese25
QFontDatabase::TraditionalChinese26
QFontDatabase::Japanese27
QFontDatabase::Korean28
QFontDatabase::Vietnamese29
QFontDatabase::Symbol30
QFontDatabase::OtherSymbol(igual que Symbol)
QFontDatabase::Ogham31
QFontDatabase::Runic32
QFontDatabase::Nko33

Documentación de las funciones miembro

[static, since 6.9] void QFontDatabase::addApplicationEmojiFontFamily(const QString &familyName)

Añade familyName como fuente emoji definida por la aplicación.

Para mostrar emojis multicolor o secuencias emoji, Qt preferirá por defecto la fuente emoji predeterminada del sistema. A veces la aplicación puede querer anular el valor por defecto, ya sea para lograr un estilo visual específico o para mostrar emojis que no son compatibles con el sistema.

Esta función se introdujo en Qt 6.9.

Véase también removeApplicationEmojiFontFamily, setApplicationEmojiFontFamilies(), applicationEmojiFontFamilies(), y addApplicationFallbackFontFamily().

[static, since 6.8] void QFontDatabase::addApplicationFallbackFontFamily(QChar::Script script, const QString &familyName)

Añade familyName como fuente alternativa definida por la aplicación para script.

Cuando Qt encuentre caracteres que no sean compatibles con la fuente seleccionada, buscará en una lista de fuentes de reserva para encontrar una que coincida con ellos. Esto garantiza que sea posible combinar varios caracteres en una sola cadena, aunque la fuente principal no los admita.

La lista de fuentes alternativas se selecciona en función del alfabeto de la cadena y de otras condiciones, como el idioma del sistema.

Aunque la lista de fuentes alternativas del sistema suele ser suficiente, hay casos en los que resulta útil anular el comportamiento predeterminado. Uno de estos casos es el uso de fuentes de aplicación como alternativa para garantizar la coherencia entre plataformas.

En otro caso, la aplicación puede estar escrita en un script con diferencias regionales y querer ejecutarla sin traducir en múltiples regiones. En este caso, podría ser útil reemplazar el fallback de la región local con uno que coincida con el idioma de la aplicación.

Al pasar familyName a addApplicationFallbackFontFamily(), ésta se convertirá en la familia preferida cuando se busquen caracteres que falten en script. script debe ser un script válido (QChar::Script_Latin o superior). Cuando se añadan múltiples fuentes para el mismo script, se priorizarán en orden inverso, de forma que la última familia añadida se comprobará primero y así sucesivamente.

Nota: El algoritmo de correspondencia de fuentes de Qt considera que QChar::Script_Common (script indeterminado) y QChar::Script_Latin son lo mismo. Añadir un fallback para cualquiera de ellas se aplicará también a la otra.

Esta función se introdujo en Qt 6.8.

Véase también setApplicationFallbackFontFamilies(), removeApplicationFallbackFontFamily(), y applicationFallbackFontFamilies().

[static] int QFontDatabase::addApplicationFont(const QString &fileName)

Carga la fuente desde el archivo especificado por fileName y la pone a disposición de la aplicación. Se devuelve un ID que puede utilizarse para eliminar la fuente de nuevo con removeApplicationFont() o para recuperar la lista de nombres de familia que contiene la fuente.

La función devuelve -1 si no se ha podido cargar la fuente.

Actualmente sólo se soportan fuentes TrueType, colecciones de fuentes TrueType y fuentes OpenType.

Véase también addApplicationFontFromData(), applicationFontFamilies(), y removeApplicationFont().

[static] int QFontDatabase::addApplicationFontFromData(const QByteArray &fontData)

Carga la fuente a partir de los datos binarios especificados por fontData y la pone a disposición de la aplicación. Se devuelve un ID que puede utilizarse para eliminar la fuente de nuevo con removeApplicationFont() o para recuperar la lista de nombres de familia contenidos en la fuente.

La función devuelve -1 si no se ha podido cargar la fuente.

Actualmente sólo se soportan fuentes TrueType, colecciones de fuentes TrueType y fuentes OpenType.

Véase también addApplicationFont(), applicationFontFamilies(), y removeApplicationFont().

[static, since 6.9] QStringList QFontDatabase::applicationEmojiFontFamilies()

Devuelve la lista de familias de fuentes emoji definidas por la aplicación.

Esta función se introdujo en Qt 6.9.

Véase también addApplicationEmojiFontFamily(), removeApplicationEmojiFontFamily(), setApplicationEmojiFontFamilies(), y applicationFallbackFontFamilies().

[static, since 6.8] QStringList QFontDatabase::applicationFallbackFontFamilies(QChar::Script script)

Devuelve la lista de familias de fuentes fallback definidas por la aplicación previamente añadidas para script por la función addApplicationFallbackFontFamily().

Esta función se introdujo en Qt 6.8.

Véase también setApplicationFallbackFontFamilies(), addApplicationFallbackFontFamily() y removeApplicationFallbackFontFamily().

[static] QStringList QFontDatabase::applicationFontFamilies(int id)

Devuelve una lista de familias de fuentes para la fuente de aplicación dada identificada por id.

Véase también addApplicationFont() y addApplicationFontFromData().

[static] bool QFontDatabase::bold(const QString &family, const QString &style)

Devuelve true si la fuente que tiene familia family y estilo style es negrita; en caso contrario devuelve false.

Véase también italic() y weight().

[static] QStringList QFontDatabase::families(QFontDatabase::WritingSystem writingSystem = Any)

Devuelve una lista ordenada de las familias de fuentes disponibles compatibles con writingSystem.

Si una familia existe en varias fundiciones, el nombre devuelto para esa fuente tiene la forma "familia [fundición]". Ejemplos: "Times [Adobe]", "Times [Cronyx]", "Palatino".

Véase también writingSystems().

[static] QFont QFontDatabase::font(const QString &family, const QString &style, int pointSize)

Devuelve un objeto QFont que tiene la familia family, el estilo style y el tamaño de punto pointSize. Si no se ha podido crear una fuente coincidente, se devuelve un objeto QFont que utiliza la fuente predeterminada de la aplicación.

[static] bool QFontDatabase::isBitmapScalable(const QString &family, const QString &style = QString())

Devuelve true si la fuente que tiene la familia family y el estilo style es una fuente de mapa de bits escalable; en caso contrario devuelve false. Escalar una fuente de mapa de bits suele producir un resultado poco atractivo y poco legible, porque los píxeles de la fuente se escalan. Si necesita escalar una fuente bitmap es mejor escalarla a uno de los tamaños fijos devueltos por smoothSizes().

Véase también isScalable() y isSmoothlyScalable().

[static] bool QFontDatabase::isFixedPitch(const QString &family, const QString &style = QString())

Devuelve true si la fuente que tiene familia family y estilo style es de paso fijo; en caso contrario devuelve false.

[static] bool QFontDatabase::isPrivateFamily(const QString &family)

Devuelve true si y sólo si la familia de fuentes family es privada.

Esto ocurre, por ejemplo, en macOS e iOS, donde las fuentes de interfaz de usuario del sistema no son accesibles para el usuario. Para completar, QFontDatabase::families() devuelve todas las familias de fuentes, incluidas las privadas. Debería utilizar esta función si está desarrollando un control de selección de fuentes para mantener ocultas las fuentes privadas.

Véase también families().

[static] bool QFontDatabase::isScalable(const QString &family, const QString &style = QString())

Devuelve true si la fuente que tiene familia family y estilo style es escalable; en caso contrario devuelve false.

Véase también isBitmapScalable() y isSmoothlyScalable().

[static] bool QFontDatabase::isSmoothlyScalable(const QString &family, const QString &style = QString())

Devuelve true si la fuente que tiene familia family y estilo style es suavemente escalable; en caso contrario devuelve false. Si esta función devuelve true, es seguro escalar esta fuente a cualquier tamaño, y el resultado siempre será atractivo.

Véase también isScalable() y isBitmapScalable().

[static] bool QFontDatabase::italic(const QString &family, const QString &style)

Devuelve true si la fuente que tiene familia family y estilo style es cursiva; en caso contrario devuelve false.

Véase también weight() y bold().

[static] QList<int> QFontDatabase::pointSizes(const QString &family, const QString &styleName = QString())

Devuelve una lista de los tamaños de punto disponibles para la fuente que tiene la familia family y el estilo styleName. La lista puede estar vacía.

Véase también smoothSizes() y standardSizes().

[static] bool QFontDatabase::removeAllApplicationFonts()

Elimina todas las fuentes locales de la aplicación añadidas previamente mediante addApplicationFont() y addApplicationFontFromData().

Devuelve true si la descarga de las fuentes tuvo éxito; en caso contrario devuelve false.

Véase también removeApplicationFont(), addApplicationFont() y addApplicationFontFromData().

[static, since 6.9] bool QFontDatabase::removeApplicationEmojiFontFamily(const QString &familyName)

Elimina familyName de la lista de fuentes emoji definidas por la aplicación, siempre que se haya añadido previamente con addApplicationEmojiFontFamily().

Devuelve true si el nombre de la familia estaba en la lista y false en caso contrario.

Esta función se introdujo en Qt 6.9.

Véase también addApplicationEmojiFontFamily(), setApplicationEmojiFontFamilies(), applicationEmojiFontFamilies(), y removeApplicationFallbackFontFamily().

[static, since 6.8] bool QFontDatabase::removeApplicationFallbackFontFamily(QChar::Script script, const QString &familyName)

Elimina familyName de la lista de fuentes de reserva definidas por la aplicación para script, siempre que se haya añadido previamente con addApplicationFallbackFontFamily().

Devuelve true si el nombre de la familia estaba en la lista y false si no lo estaba.

Esta función se introdujo en Qt 6.8.

Véase también addApplicationFallbackFontFamily(), setApplicationFallbackFontFamilies(), y applicationFallbackFontFamilies().

[static] bool QFontDatabase::removeApplicationFont(int id)

Elimina la fuente de aplicación previamente cargada identificada por id. Devuelve true si la descarga de la fuente se ha realizado correctamente; en caso contrario, devuelve false.

Véase también removeAllApplicationFonts(), addApplicationFont() y addApplicationFontFromData().

[static, since 6.9] void QFontDatabase::setApplicationEmojiFontFamilies(const QStringList &familyNames)

Establece la lista de fuentes emoji definidas por la aplicación en familyNames.

Esta función se introdujo en Qt 6.9.

Véase también addApplicationEmojiFontFamily(), removeApplicationEmojiFontFamily(), applicationEmojiFontFamilies(), y setApplicationFallbackFontFamilies().

[static, since 6.8] void QFontDatabase::setApplicationFallbackFontFamilies(QChar::Script script, const QStringList &familyNames)

Establece la lista de fuentes de reserva definidas por la aplicación para script en familyNames.

Cuando Qt encuentra un carácter en script que no es soportado por la fuente actual, comprobará las familias en familyNames, en orden del primero al último, hasta que encuentre una coincidencia. Véase addApplicationFallbackFontFamily() para más detalles.

Esta función sobrescribe la lista actual de fuentes alternativas definidas por la aplicación para script.

Esta función se introdujo en Qt 6.8.

Véase también addApplicationFallbackFontFamily(), removeApplicationFallbackFontFamily(), y applicationFallbackFontFamilies().

[static] QList<int> QFontDatabase::smoothSizes(const QString &family, const QString &styleName)

Devuelve los tamaños de punto de una fuente que tenga la familia family y el estilo styleName que resulten atractivos. La lista puede estar vacía. Para fuentes no escalables y fuentes escalables de mapa de bits, esta función es equivalente a pointSizes().

Véase también pointSizes() y standardSizes().

[static] QList<int> QFontDatabase::standardSizes()

Devuelve una lista de tamaños de fuente estándar.

Véase también smoothSizes() y pointSizes().

[static] QString QFontDatabase::styleString(const QFont &font)

Devuelve una cadena que describe el estilo de font. Por ejemplo, "Negrita cursiva", "Negrita", "Cursiva" o "Normal". Se puede devolver una cadena vacía.

[static] QString QFontDatabase::styleString(const QFontInfo &fontInfo)

Devuelve una cadena que describe el estilo de fontInfo. Por ejemplo, "Negrita cursiva", "Negrita", "Cursiva" o "Normal". Se puede devolver una cadena vacía.

[static] QStringList QFontDatabase::styles(const QString &family)

Devuelve una lista de los estilos disponibles para la familia tipográfica family. Algunos estilos de ejemplo: "Ligera", "Ligera cursiva", "Negrita", "Oblicua", "Demi". La lista puede estar vacía.

Véase también families().

[static] QFont QFontDatabase::systemFont(QFontDatabase::SystemFont type)

Devuelve la fuente más adecuada para un caso dado de type para una correcta integración con el aspecto del sistema.

Véase también QGuiApplication::font().

[static] int QFontDatabase::weight(const QString &family, const QString &style)

Devuelve el peso de la fuente que tiene la familia family y el estilo style. Si no existe tal combinación de familia y estilo, devuelve -1.

Véase también italic() y bold().

[static] QString QFontDatabase::writingSystemName(QFontDatabase::WritingSystem writingSystem)

Devuelve los nombres de los writingSystem (por ejemplo, para mostrar al usuario en un cuadro de diálogo).

[static] QString QFontDatabase::writingSystemSample(QFontDatabase::WritingSystem writingSystem)

Devuelve una cadena con caracteres de muestra de writingSystem.

[static] QList<QFontDatabase::WritingSystem> QFontDatabase::writingSystems()

Devuelve una lista ordenada de los sistemas de escritura disponibles. Se trata de una lista generada a partir de información sobre todas las fuentes instaladas en el sistema.

Véase también families().

[static] QList<QFontDatabase::WritingSystem> QFontDatabase::writingSystems(const QString &family)

Devuelve una lista ordenada de los sistemas de escritura soportados por una fuente dada family.

Véase también families().

© 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.