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
| Constante | Valor | Descripción |
|---|---|---|
QFontDatabase::GeneralFont | 0 | La fuente por defecto del sistema. |
QFontDatabase::FixedFont | 1 | La fuente fija que recomienda el sistema. |
QFontDatabase::TitleFont | 2 | La fuente estándar del sistema para los títulos. |
QFontDatabase::SmallestReadableFont | 3 | La fuente más pequeña legible del sistema. |
enum QFontDatabase::WritingSystem
| Constante | Valor | Descripción |
|---|---|---|
QFontDatabase::Any | 0 | |
QFontDatabase::Latin | 1 | |
QFontDatabase::Greek | 2 | |
QFontDatabase::Cyrillic | 3 | |
QFontDatabase::Armenian | 4 | |
QFontDatabase::Hebrew | 5 | |
QFontDatabase::Arabic | 6 | |
QFontDatabase::Syriac | 7 | |
QFontDatabase::Thaana | 8 | |
QFontDatabase::Devanagari | 9 | |
QFontDatabase::Bengali | 10 | |
QFontDatabase::Gurmukhi | 11 | |
QFontDatabase::Gujarati | 12 | |
QFontDatabase::Oriya | 13 | |
QFontDatabase::Tamil | 14 | |
QFontDatabase::Telugu | 15 | |
QFontDatabase::Kannada | 16 | |
QFontDatabase::Malayalam | 17 | |
QFontDatabase::Sinhala | 18 | |
QFontDatabase::Thai | 19 | |
QFontDatabase::Lao | 20 | |
QFontDatabase::Tibetan | 21 | |
QFontDatabase::Myanmar | 22 | |
QFontDatabase::Georgian | 23 | |
QFontDatabase::Khmer | 24 | |
QFontDatabase::SimplifiedChinese | 25 | |
QFontDatabase::TraditionalChinese | 26 | |
QFontDatabase::Japanese | 27 | |
QFontDatabase::Korean | 28 | |
QFontDatabase::Vietnamese | 29 | |
QFontDatabase::Symbol | 30 | |
QFontDatabase::Other | Symbol | (igual que Symbol) |
QFontDatabase::Ogham | 31 | |
QFontDatabase::Runic | 32 | |
QFontDatabase::Nko | 33 |
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.