Поддерживаемый подмножество 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 color или #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, поддерживаемые движком форматирования богатого текста Qt:
| Свойство | Значения | Описание |
|---|---|---|
background-color |
<цвет> | Цвет фона элементов |
background-image |
<ссылка> | Изображение фона для элементов |
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.6/richtext-html-subset.html