Поддерживаемый подмножество HTML
Текстовые виджеты Qt способны отображать форматированный текст, используя подмножество разметки HTML 4. Виджеты, использующие QTextDocument, такие как QLabel и QTextEdit, способны отображать форматированный текст таким способом.
Использование HTML-разметки в текстовых виджетах
Виджеты автоматически распознают HTML-разметку и отображают форматированный текст соответственно. Например, установка свойства text метки со строкой "<b>Hello</b> <i>Qt!</i>" приведет к отображению текста в метке следующим образом: Привет Qt!
При использовании HTML-разметки для текста, Qt следует правилам, определённым спецификацией HTML 4. Это включает в себя стандартные свойства для форматирования текста, такие как направление потока текста (слева направо), которое может быть изменено путём применения атрибута dir к блокам текста.
Поддерживаемые теги
В следующей таблице перечислены HTML-теги, поддерживаемые движком форматированного текста Qt:
| Тег | Описание | Комментарий |
|---|---|---|
a |
Якорь или ссылка | Поддерживает атрибуты href и name. |
address |
Адрес | |
b |
Жирный шрифт | |
big |
Более крупный шрифт | |
blockquote |
Отступяный абзац | |
body |
Тело документа | Поддерживает атрибут bgcolor, который может быть именем цвета Qt цветовое имя или #RRGGBB указанием цвета. |
br |
Перевод строки | |
center |
Абзац по центру | |
cite |
Вставка цитаты | То же, что и i. |
code |
Код | То же, что и tt. |
dd |
Данные определения | |
dfn |
Определение | То же, что и i. |
div |
Раздел документа | Поддерживает стандартные атрибуты блоков. |
dl |
Список определений | Поддерживает стандартные атрибуты блоков. |
dt |
Термин определения | Поддерживает стандартные атрибуты блоков. |
em |
Выделение | То же, что и i. |
font |
Размер, семейство и/или цвет шрифта | Поддерживает следующие атрибуты: size, face, и color (имена цветов Qt цветовое имя или #RRGGBB). |
h1 |
Заголовок уровня 1 | Поддерживает стандартные атрибуты блоков. |
h2 |
Заголовок уровня 2 | Поддерживает стандартные атрибуты блоков. |
h3 |
Заголовок уровня 3 | Поддерживает стандартные атрибуты блоков. |
h4 |
Заголовок уровня 4 | Поддерживает стандартные атрибуты блоков. |
h5 |
Заголовок уровня 5 | Поддерживает стандартные атрибуты блоков. |
h6 |
Заголовок уровня 6 | Поддерживает стандартные атрибуты блоков. |
head |
Заголовок документа | |
hr |
Горизонтальная линия | Поддерживает атрибут width, который может быть указан как абсолютное или относительное (%) значение. |
html |
HTML-документ | |
i |
Курсив | |
img |
Изображение | Поддерживает атрибуты src, source (для совместимости с Qt 3), width, и height. |
kbd |
Введенный пользователем текст | |
meta |
Метаинформация | Если кодировка текста указана с помощью тега meta, она используется функцией Qt::codecForHtml(). Аналогично, если кодировка указана в QTextDocument::toHtml(), кодировка сохраняется с помощью тега meta, например:<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" /> |
li |
Элемент списка | |
nobr |
Неразрывный текст | |
ol |
Нумерованный список | Поддерживает стандартные атрибуты списков. |
p |
Абзац | По умолчанию выравнивается по левому краю. Поддерживает стандартные атрибуты блоков. |
pre |
Предформатированный текст | |
qt |
Документ Qt форматированного текста | Синоним для html. Представлен для совместимости с более ранними версиями Qt. |
s |
Зачеркнутый | |
samp |
Пример кода | То же, что и tt. |
small |
Мелкий шрифт | |
span |
Сгруппированные элементы | |
strong |
Жирный | То же, что и b. |
sub |
Индекс нижний | |
sup |
Индекс верхний | |
table |
Таблица | Поддерживает следующие атрибуты: border, bgcolor (имена цветов Qt цветовое имя или #RRGGBB), cellspacing, cellpadding, width (абсолютное или относительное), и height. |
tbody |
Тело таблицы | Ничего не делает. |
td |
Ячейка таблицы данных | Поддерживает стандартные атрибуты ячеек таблицы. |
tfoot |
Подвал таблицы | Ничего не делает. |
th |
Ячейка заголовка таблицы | Поддерживает стандартные атрибуты ячеек таблицы. |
thead |
Заголовок таблицы | Если тег thead указан, он используется при печати таблиц, которые занимают несколько страниц. |
title |
Заголовок документа | Значение, указанное с помощью тега title, доступно через QTextDocument::metaInformation(). |
tr |
Строка таблицы | Поддерживает атрибут bgcolor, который может быть именем цвета Qt цветовое имя или #RRGGBB указанием цвета. |
tt |
Шрифт машинописный | |
u |
Подчёркнутый | |
ul |
Маркированный список | Поддерживает стандартные атрибуты списков. |
var |
Переменная | То же, что и i. |
Атрибуты блоков
Следующие атрибуты поддерживаются тегами div, dl, dt, h1, h2, h3, h4, h5, h6, p:
-
align(left,right,center,justify) -
dir(ltr,rtl)
Атрибуты списков
Следующий атрибут поддерживается тегами ol и ul:
-
type(1,a,A,square,disc,circle)
Атрибуты ячеек таблицы
Следующие атрибуты поддерживаются тегами td и th:
-
width(абсолютное, относительное или без значения) -
bgcolor(имена цветов Qt цветов или#RRGGBB) colspanrowspan-
align(left,right,center,justify) -
valign(top,middle,bottom)
Свойства CSS
В следующей таблице перечислены свойства CSS, поддерживаемые движком форматирования Rich Text Qt:
| Свойство | Значения | Описание |
|---|---|---|
background-color |
<цвет> | Цвет фона для элементов |
background-image |
<uri> | Изображение фона для элементов |
color |
<цвет> | Цвет текста |
font-family |
<наименование шрифта> | Наименование семейства шрифтов |
font-size |
[ small | medium | large | x-large | xx-large ] | <размер>pt | <размер>px | Размер шрифта по отношению к размеру шрифта документа или заданный в пунктах или пикселях |
font-style |
[ normal | italic | oblique ] | |
font-weight |
[ normal | bold | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 ] | Определяет толщину шрифта, используемую для текста, где normal и bold сопоставляются с соответствующими значениями толщины QFont. Числовые значения составляют 8 кратное значением толщины QFont. |
text-decoration |
none | [ underline || overline || line-through ] | Дополнительные эффекты текста |
font |
[ [ <'font-style'> || <'font-weight'> ]? <'font-size'> <'font-family'> ] | Краткое свойство шрифта |
text-indent |
<длина>px | Отступ первой строки в пикселях |
white-space |
normal | pre | nowrap | pre-wrap | Объявляет, как обрабатываются пробелы в HTML. |
margin-top |
<длина>px | Верхний отступ абзаца в пикселях |
margin-bottom |
<длина>px | Нижний отступ абзаца в пикселях |
margin-left |
<длина>px | Левый отступ абзаца в пикселях |
margin-right |
<длина>px | Правый отступ абзаца в пикселях |
padding-top |
<длина>px | Отступ ячейки таблицы по вертикали в пикселях |
padding-bottom |
<длина>px | Нижний отступ ячейки таблицы в пикселях |
padding-left |
<длина>px | Левый отступ ячейки таблицы в пикселях |
padding-right |
<длина>px | Правый отступ ячейки таблицы в пикселях |
padding |
<длина>px | Краткая запись для одновременной установки всех свойств отступа. |
vertical-align |
baseline | sub | super | middle | top | bottom | Вертикальное выравнивание текста. Для вертикального выравнивания в текстовых ячейках таблиц применяются только middle, top и bottom. |
border-color |
<цвет> | Цвет границы для текстовых таблиц. |
border-style |
none | dotted | dashed | dot-dash | dot-dot-dash | solid | double | groove | ridge | inset | outset | Стиль границы для текстовых таблиц. |
background |
[ <'background-color'> || <'background-image'> ] | Краткое свойство фона |
page-break-before |
[ auto | always ] | Разрешить принудительное вставку разрыва страницы перед абзацем/таблицей |
page-break-after |
[ auto | always ] | Разрешить принудительное вставку разрыва страницы после абзаца/таблицы |
| float | [ left | right | none ] | Указывает, где будет расположено изображение или текст в другом элементе. Обратите внимание, что свойство float поддерживается только для таблиц и изображений. |
text-transform |
[ uppercase | lowercase ] | Выбирает преобразование, которое будет выполнено над текстом перед его отображением. |
font-variant |
small-caps | Выполнить преобразование smallcaps над текстом перед его отображением. |
word-spacing |
<ширина>px | Задает альтернарный интервал между словами. |
Поддерживаемые селекторы CSS
Поддерживаются все классы селекторов CSS 2.1, за исключением псевдоклассов, таких как :first-child, :visited и :hover.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/richtext-html-subset.html