Subconjunto de HTML soportado
Los widgets de texto de Qt son capaces de mostrar texto enriquecido, especificado usando un subconjunto de marcado HTML 4. Los widgets que utilizan QTextDocument, como QLabel y QTextEdit, pueden mostrar texto enriquecido especificado de esta forma.
Uso del marcado HTML en los widgets de texto
Los widgets detectan automáticamente el marcado HTML y muestran el texto enriquecido en consecuencia. Por ejemplo, si se establece la propiedad text de una etiqueta con la cadena "<b>Hello</b> <i>Qt!</i>", la etiqueta mostrará un texto como el siguiente: ¡ Hola Qt!
Cuando se utiliza el marcado HTML para el texto, Qt sigue las reglas definidas por la especificación HTML 4. Esto incluye las propiedades por defecto para el diseño del texto, el tamaño de la página y el tamaño de la etiqueta. Esto incluye propiedades predeterminadas para el diseño del texto, como la dirección del flujo de texto (de izquierda a derecha), que puede cambiarse aplicando el atributo dir a los bloques de texto.
Etiquetas compatibles
La siguiente tabla enumera las etiquetas HTML soportadas por el motor de texto enriquecido de Qt.
Nota: La funcionalidad implementada para las etiquetas listadas a continuación es un subconjunto de la especificación HTML 4 completa. No todos los atributos están soportados, ver comentarios para cada etiqueta.
| Etiqueta | Descripción | Comentario |
|---|---|---|
a | Ancla o enlace | Admite los atributos href y name. |
address | Dirección | |
b | Negrita | |
big | Fuente más grande | |
blockquote | Párrafo sangrado | |
body | Cuerpo del documento | Admite el atributo bgcolor, que puede ser una especificación de color Qt color name o #RRGGBB. |
br | Salto de línea | |
center | Párrafo centrado | |
cite | Cita en línea | Igual que i. |
code | Código | Igual que tt. |
dd | Datos de definición | |
del | Suprimido | Igual que s. Desde Qt 6.11 |
dfn | Definición | Igual que i. |
div | División del documento | Admite los atributos de bloque estándar. |
dl | Lista de definiciones | Admite los atributos de bloque estándar. |
dt | Término de definición | Admite los atributos de bloque estándar. |
em | Enfatizado | Igual que i. |
font | Tamaño, familia y/o color de fuente | Admite los siguientes atributos: size, face, y color (Qt color names o #RRGGBB). |
h1 | Encabezado de nivel 1 | Admite los atributos de bloque estándar. |
h2 | Encabezado de nivel 2 | Admite los atributos de bloque estándar. |
h3 | Encabezado de nivel 3 | Admite los atributos de bloque estándar. |
h4 | Rúbrica de nivel 4 | Admite los atributos de bloque estándar. |
h5 | Rúbrica de nivel 5 | Admite los atributos de bloque estándar. |
h6 | Rúbrica de nivel 6 | Admite los atributos de bloque estándar. |
head | Encabezado del documento | |
hr | Línea horizontal | Admite el atributo width, que puede especificarse como valor absoluto o relativo (%). |
html | Documento HTML | |
i | Cursiva | |
img | Imagen | Admite los atributos src, source (para compatibilidad con Qt 3), width y height. |
kbd | Texto introducido por el usuario | |
meta | Metainformación | Si se especifica una codificación de texto mediante la etiqueta meta, será recogida por Qt::codecForHtml(). Del mismo modo, si se especifica una codificación a QTextDocument::toHtml(), la codificación se almacena utilizando una etiqueta meta, por ejemplo: <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" /> |
li | Elemento de lista | |
nobr | Texto no codificado | |
ol | Lista ordenada | Admite los atributos de lista estándar. |
p | Párrafo | Alineado a la izquierda por defecto. Admite los atributos de bloque estándar. |
pre | Texto preformado | |
qt | Documento de texto enriquecido Qt | Sinónimo de html. Se proporciona por compatibilidad con versiones anteriores de Qt. |
s | Tachado | |
samp | Código de ejemplo | Igual que tt. |
small | Fuente pequeña | |
span | Elementos agrupados | |
strong | Fuerte | Igual que b. |
sub | Subíndice | |
sup | Superíndice | |
table | Tabla | Admite los atributos siguientes: border, bgcolor (Qt color names o #RRGGBB), cellspacing, cellpadding, width (absoluto o relativo), y height. |
tbody | Cuerpo de la tabla | No hace nada. |
td | Celda de datos de la tabla | Soporta los atributos estándar de celda de tabla. |
tfoot | Pie de tabla | No hace nada. |
th | Celda de encabezado de tabla | Soporta los atributos estándar de las celdas de tabla. |
thead | Encabezado de tabla | Si se especifica la etiqueta thead, se utiliza al imprimir tablas que abarcan varias páginas. |
title | Título del documento | El valor especificado mediante la etiqueta title está disponible a través de QTextDocument::metaInformation(). |
tr | Fila de tabla | Admite el atributo bgcolor, que puede ser una especificación de color Qt color name o #RRGGBB. |
tt | Fuente Typewrite | |
u | Subrayado | |
ul | Lista desordenada | Admite los atributos de lista estándar. |
var | Variable | Igual que i. |
Atributos de bloque
Las etiquetas div, dl, dt, h1, h2, h3, h4, h5, h6, p admiten los siguientes atributos:
align(left,right,center,justify)dir(ltr,rtl)
Atributos de la lista
Las etiquetas ol y ul admiten el siguiente atributo:
type(1,a,A,square,disc,circle)
Además, la etiqueta ol admite el siguiente atributo:
start
Atributos de celda de tabla
Las etiquetas td y th admiten los siguientes atributos:
width(absoluto, relativo o sin valor)bgcolor(Qt color names o#RRGGBB)colspanrowspanalign(left,right,center,justify)valign(top,middle,bottom)
Propiedades CSS
La siguiente tabla lista las propiedades CSS soportadas por el motor de texto enriquecido de Qt:
| Propiedad | Valores | Descripción |
|---|---|---|
background-color | <color> | Color de fondo de los elementos |
background-image | <uri> | Imagen de fondo para los elementos |
color | <color> | Color de primer plano del texto |
font-family | <nombre de familia> | Nombre de la familia de fuentes |
font-size | [ pequeño | mediano | grande | x-grande | xx-grande ] | <tamaño>pt | <tamaño>px | Tamaño de fuente relativo a la fuente del documento, o especificado en puntos o píxeles |
font-style | [ normal | cursiva | oblicua ] | |
font-weight | [ normal | negrita | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 ] | Especifica el peso de la fuente utilizada para el texto, donde normal y bold se asignan a los pesos correspondientes de QFont. Los valores numéricos son 8 veces los valores de peso equivalentes de QFont. |
text-decoration | none | [ underline || overline || line-through ] | Efectos de texto adicionales |
font | [ [ <'font-style'> || <'font-weight'> ]? <'font-size'> <'font-family'> ] | Propiedad abreviada de fuente |
text-indent | <longitud>px | Sangría del texto de la primera línea en píxeles |
white-space | normal | pre | nowrap | pre-wrap | Declara cómo se manejan los espacios en blanco en HTML. |
margin-top | <longitud>px | Margen superior del párrafo en píxeles |
margin-bottom | <longitud>px | Margen inferior del párrafo en píxeles |
margin-left | <longitud>px | Margen izquierdo del párrafo en píxeles |
margin-right | <longitud>px | Margen derecho del párrafo en píxeles |
padding-top | <longitud>px | Relleno de la celda superior de la tabla en píxeles |
padding-bottom | <longitud>px | Relleno de la celda inferior de la tabla en píxeles |
padding-left | <longitud>px | Relleno de la celda izquierda de la tabla en píxeles |
padding-right | <longitud>px | Relleno de la celda derecha de la tabla en píxeles |
padding | <longitud>px | Abreviatura para establecer todas las propiedades de relleno a la vez. |
vertical-align | baseline | sub | super | middle | top | bottom | Alineación vertical del texto. Para la alineación vertical en las celdas de la tabla de texto, sólo se aplican el centro, la parte superior y la parte inferior. |
border-collapse | colapsar | separar | Modo de colapso de bordes para tablas de texto. Si se establece en colapsar, no se aplicará el espaciado entre celdas. |
border-color | <color> | Color de borde para tablas de texto y celdas de tabla. |
border-top-color | <color> | Color del borde superior para celdas de tabla. |
border-bottom-color | <color> | Color del borde inferior para celdas de tabla. |
border-left-color | <color> | Color del borde izquierdo de las celdas de la tabla. |
border-right-color | <color> | Color del borde derecho de las celdas de la tabla. |
border-style | none | dotted | dashed | dot-dash | dot-dot-dash | solid | double | groove | ridge | inset | outset | Estilo de borde para tablas de texto y celdas de tabla. |
border-top-style | <estilo de borde> | Estilo de borde superior para celdas de tabla. |
border-bottom-style | <estilo-borde> | Estilo de borde inferior para celdas de tabla. |
border-left-style | <estilo-borde> | Estilo de borde izquierdo para celdas de tabla. |
border-right-style | <estilo-borde> | Estilo de borde derecho para celdas de tabla. |
border-width | <ancho>px | Ancho del borde de la tabla o celda. |
border-top-width | <longitud>px | Ancho del borde superior para celdas de tabla. |
border-bottom-width | <longitud>px | Anchura del borde inferior para celdas de tabla. |
border-left-width | <longitud>px | Ancho del borde izquierdo de las celdas de la tabla. |
border-right-width | <longitud>px | Ancho del borde derecho de las celdas de la tabla. |
border-top | <ancho>px <estilo de borde> <color de borde> | Abreviatura para establecer el ancho, estilo y color del borde superior |
border-bottom | <ancho>px <estilo-borde> <color-borde> | Abreviatura para definir la anchura, el estilo y el color del borde inferior |
border-left | <ancho>px <estilo-borde> <color-borde> | Abreviatura para definir la anchura, el estilo y el color del borde izquierdo |
border-right | <ancho>px <estilo-borde> <color-borde> | Abreviatura para definir la anchura, el estilo y el color del borde derecho |
border-top | <ancho>px <estilo-borde> <color-borde> | Abreviatura para definir la anchura, el estilo y el color del borde superior |
border-bottom | <ancho>px <estilo-borde> <color-borde> | Abreviatura para definir la anchura, el estilo y el color del borde inferior |
border | <ancho>px <estilo-borde> <color-borde> | Abreviatura para establecer la anchura, el estilo y el color de los cuatro bordes |
background | [ <'background-color'> || <'background-image'> ] | Propiedad abreviada de fondo |
page-break-before | [ auto | always ] | Permite imponer un salto de página antes del párrafo/tabla |
page-break-after | [ auto | always ] Hacer posible imponer un salto de página antes del párrafo/tabla | Posibilita la imposición de un salto de página después del párrafo/tabla |
float | [ izquierda | derecha | ninguno] | Especifica dónde se colocará una imagen o un texto en otro elemento. Tenga en cuenta que la propiedad float sólo es compatible con tablas e imágenes. |
text-transform | [ mayúsculas | minúsculas ] | Selecciona la transformación que se realizará sobre el texto antes de mostrarlo. |
font-kerning | [ normal | none ] | Activa o desactiva el kerning entre los caracteres del texto. |
font-variant | versalitas | Realiza la transformación smallcaps sobre el texto antes de mostrarlo. |
word-spacing | <ancho>px | Especifica un espaciado alternativo entre cada palabra. |
line-height | <número>[% | px | pt | cm] | Especifica la altura de una línea. Puede ser uno de los siguientes:
|
Nota: Algunas propiedades CSS sólo son compatibles cuando se aplican a una etiqueta de bloque, como <p>. Establecer estas propiedades en un <span>, por ejemplo, no tendrá ningún efecto. El margen es un ejemplo de este tipo de propiedades. Consulta QTextBlockFormat y QTextCharFormat para obtener una visión general de las opciones de formato disponibles en bloques y spans en QTextDocument.
Propiedades CSS específicas de Qt
Además de las propiedades CSS estándar enumeradas anteriormente, también pueden utilizarse las siguientes propiedades específicas de Qt para dar estilo a un bloque de texto:
| Propiedad | Valores | Descripción |
|---|---|---|
-qt-block-indent | <number> | Indenta el bloque de texto el número de espacios especificado. |
-qt-list-indent | <number> | Indenta los elementos de la lista el número de espacios especificado. |
-qt-list-number-prefix | <string> | Prefija la cadena dada al número de lista en una lista ordenada HTML. |
-qt-list-number-suffix | <cadena> | Sufija la cadena dada al número de lista en una lista HTML ordenada. |
-qt-paragraph-type | empty | Oculta el bloque de texto. |
-qt-table-type | root | frame | root representa los bloques de texto en línea sin bordes ni sangría, mientras que frame los representa en una nueva línea con un marco alrededor. |
-qt-user-state | <number> | Lo añade como datos de usuario para el bloque de texto. |
Selectores CSS compatibles
Se admiten todas las clases de selectores CSS 2.1 excepto los selectores de pseudoclase como :first-child, :visited y :hover.
© 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.