Spec-Zone.ru › Qt 5.15

Поддерживаемый подмножество 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)
  • colspan
  • rowspan
  • 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 [ [ <'стиль_шрифта'> || <'толщина_шрифта'> ]? <'размер_шрифта'> <'семейство_шрифтов'> ] Сокращённое свойство шрифта
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-collapse collapse | separate Режим слияния границ для текстовых таблиц. Если установлено collapse, интервал между ячейками не будет применён.
border-color <цвет> Цвет границы для текстовых таблиц и ячеек таблицы.
border-top-color <цвет> Цвет верхней границы для ячеек таблицы.
border-bottom-color <цвет> Цвет нижней границы для ячеек таблицы.
border-left-color <цвет> Цвет левой границы для ячеек таблицы.
border-right-color <цвет> Цвет правой границы для ячеек таблицы.
border-style none | dotted | dashed | dot-dash | dot-dot-dash | solid | double | groove | ridge | inset | outset Стиль границы для текстовых таблиц и ячеек таблицы.
border-top-style <стиль_границы> Стиль верхней границы для ячеек таблицы.
border-bottom-style <стиль_границы> Стиль нижней границы для ячеек таблицы.
border-left-style <стиль_границы> Стиль левой границы для ячеек таблицы.
border-right-style <стиль_границы> Стиль правой границы для ячеек таблицы.
border-width <ширина>px Ширина границы таблицы или ячейки
border-top-width <длина>px Ширина верхней границы для ячеек таблицы.
border-bottom-width <длина>px Ширина нижней границы для ячеек таблицы.
border-left-width <длина>px Ширина левой границы для ячеек таблицы.
border-right-width <длина>px Ширина правой границы для ячеек таблицы.
border-top <ширина>px <стиль_границы> <цвет_границы> Сокращение для установки ширины, стиля и цвета верхней границы.
border-bottom <ширина>px <стиль_границы> <цвет_границы> Сокращение для установки ширины, стиля и цвета нижней границы.
border-left <ширина>px <стиль_границы> <цвет_границы> Сокращение для установки ширины, стиля и цвета левой границы.
border-right <ширина>px <стиль_границы> <цвет_границы> Сокращение для установки ширины, стиля и цвета правой границы.
border-top <ширина>px <стиль_границы> <цвет_границы> Сокращение для установки ширины, стиля и цвета верхней границы.
border-bottom <ширина>px <стиль_границы> <цвет_границы> Сокращение для установки ширины, стиля и цвета нижней границы.
border <ширина>px <стиль_границы> <цвет_границы> Сокращение для установки ширины, стиля и цвета всех четырёх границ.
background [ <'цвет_фона'> || <'изображение_фона'> ] Сокращённое свойство фона
page-break-before [ auto | always ] Разрешить принудительное введение разрыва страницы перед абзацем/таблицей
page-break-after [ auto | always ] Разрешить принудительное введение разрыва страницы после абзаца/таблицы
float [ left | right | none ] Указывает, где изображение или текст будут размещены в другом элементе. Обратите внимание, что свойство float поддерживается только для таблиц и изображений.
text-transform [ uppercase | lowercase ] Выберите преобразование, которое будет выполнено над текстом перед его отображением.
font-kerning [ normal | none ] Включает или выключает кернинг между символами текста.
font-variant small-caps Выполняет преобразование smallcaps над текстом перед его отображением.
word-spacing <ширина>px Устанавливает дополнительный интервал между словами.
line-height <число>[% | px | pt | cm] Задает высоту строки. Она может быть следующей:
  • фиксированная высота строки в пикселях, пунктах или сантиметрах.
  • процент от текущего размера шрифта.

Свойства CSS, специфичные для Qt

Помимо стандартных свойств CSS, перечисленных выше, также можно использовать следующие свойства, специфичные для Qt, для форматирования блока текста:

Свойство Значения Описание
-qt-block-indent <number> Отступает блок текста на указанное число пробелов.
-qt-list-indent <number> Отступает пункты списка на указанное число пробелов.
-qt-list-number-prefix <string> Префикс указанной строки для номера в упорядоченном списке HTML.
-qt-list-number-suffix <строка> Суффикс заданной строки для номера в упорядоченном списке HTML.
-qt-paragraph-type empty Скрывает блок текста.
-qt-table-type root | frame root отображает блоки текста как встроенные без границ и отступов, в то время как frame отображает их на новой строке с рамкой вокруг.
-qt-user-state <number> Добавляет его как пользовательские данные для блока текста.

Поддерживаемые селекторы 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/qt-5.15/richtext-html-subset.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API