Spec-Zone.ru › Qt 5.15

Включение кода в строку

Следующие команды используются для отображения исходного кода без форматирования. Исходный код начинается с новой строки, отображается в виде кода.

Примечание: Хотя большинство из этих команд предназначены для отображения кода C++, команды \snippet и \codeline предпочтительнее других. Эти команды позволяют подставлять эквивалентные фрагменты кода для других языковых привязок Qt вместо фрагментов C++ в документации.

\code

Команды \code и \endcode заключают в себе фрагмент исходного кода.

Примечание: Команда \c может использоваться для коротких фрагментов кода в предложении. Команда \code предназначена для более длинных фрагментов кода. Она отображает код дословно в отдельном абзаце в элементе html <pre> и анализирует заключенный фрагмент, создавая ссылки на любые известные типы в коде.

Для документирования командной строки, скриптов оболочки или любого содержимого, не являющегося языком Qt, распознаваемым QDoc, используйте \badcode вместо этого.

При обработке любой из команд \code, \newcode или \oldcode, QDoc удаляет все отступы, общие для фрагментов кода verbatim внутри /*! ... */ комментария перед добавлением стандартного отступа.

Примечание: Это не относится к коду, цитируемому извне, с использованием команд \quotefromfile или \quotefile.

/ *!
    \code
        #include <QApplication>
        #include <QPushButton>

        int main(int argc, char *argv[])
        {
            ...
        }
    \ endcode
* /

QDoc отображает это следующим образом:

#include <QApplication>
#include <QPushButton>

int main(int argc, char *argv[])
{
    ...
}

Другие команды QDoc отключены в \code... \endcode, и специальный символ '\' принимается и отображается как остальной код, если за ним не следует цифра, и параметрам не были переданы в \code.

Параметры фрагмента кода

Начиная с версии QDoc 5.12, команда \code также принимает необязательные параметры. Параметры полезны для вставки простых строк в фрагмент кода. Чтобы вставить строку в определенное место в фрагменте, добавьте обратную косую черту, за которой следует цифра (1..8). Цифры соответствуют порядку списка аргументов, где аргументы разделены пробелами.

Например:

/ *!
\code * hello
/\1 \2 \1/
\ endcode
* /

Для приведенного выше фрагмента QDoc отобразит слово hello, заключенное в комментарии в стиле C.

Включение кода из внешних файлов

Для включения фрагментов кода из внешнего файла используйте команды \snippet и \codeline.

См. также \c, \badcode, \quotefromfile, \newcode и \oldcode.

\badcode

Аналогично \code, команды \badcode и \endcode заключают в себе содержимое, которое отображается дословно в отдельном абзаце, но никакой анализ или автоматическое создание ссылок не выполняется. Вместо этого содержимое обрабатывается как обычный текст.

Замените \code этой командой при документировании командной строки, скриптов оболочки или любого другого содержимого, не являющегося языком Qt, но которое все равно должно быть стилизовано аналогично абзацу \code.

Как и \code, \badcode также принимает необязательные параметры.

\newcode

Команды \newcode, \oldcode и \endcode позволяют показать, как перенести фрагмент кода в новую версию API.

Команда \newcode и ее партнер \oldcode - это удобное сочетание команд \code: это сочетание предоставляет текст, связывающий два фрагмента кода друг с другом.

Команда \newcode требует предшествующего утверждения \oldcode.

Как и команда \code, команда \newcode отображает свой код на новой строке в документации с помощью шрифта с фиксированной шириной и стандартным отступом.

/ *!
    \oldcode
        if (printer->setup(parent))
            ...
    \newcode
        QPrintDialog dialog(printer, parent);
            if (dialog.exec())
                ...
    \ endcode
* /

QDoc отображает это следующим образом:

Например, если у вас есть код, как

if (printer->setup(parent))
    ...

вы можете переписать его как

QPrintDialog dialog(printer, parent);
    if (dialog.exec())
        ...

Другие команды QDoc отключены внутри \oldcode ... \endcode, и символ '\' не нужно экранировать.

\oldcode

Команда \oldcode требует соответствующего утверждения \newcode; в противном случае QDoc не сможет обработать команду и выведет предупреждение.

См. также \newcode.

\qml

Команды \qml и \endqml заключают в себе фрагмент исходного кода QML.

/ *!
    \qml
        import QtQuick 2.0

        Row {
            Rectangle {
                width: 100; height: 100
                color: "blue"
                transform: Translate { y: 20 }
            }
            Rectangle {
                width: 100; height: 100
                color: "red"
                transform: Translate { y: -20 }
            }
        }
    \endqml
* /

QDoc отображает это следующим образом:

import QtQuick 2.0

Row {
    Rectangle {
        width: 100; height: 100
        color: "blue"
        transform: Translate { y: 20 }
    }
    Rectangle {
        width: 100; height: 100
        color: "red"
        transform: Translate { y: -20 }
    }
}

Как и команда \code, \qml принимает необязательные параметры.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/06-qdoc-commands-includecodeinline.html

Spec-Zone.ru

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