Spec-Zone.ru › Qt 5.15

Категории документации

Существует несколько типов предопределенных категорий или типов документации:

  • Руководства по использованию
  • Учебники
  • Обзоры
  • Статьи
  • ЧАВО (Часто Задаваемые Вопросы)
  • Документация API C++
  • Документация типов QML
  • Примеры кода

QDoc может форматировать страницу в зависимости от типа. Кроме того, стили могут обеспечить дополнительный контроль над отображением каждой категории.

Документация API

QDoc отлично справляется с созданием документации API на основе набора исходного кода и документации в комментариях QDoc. В частности, QDoc понимает архитектуру Qt и может проверить наличие документации для Qt C++ классов, функций или свойств. QDoc выдает предупреждения и ошибки, если не может связать документацию с сущностью кода или если у сущности кода отсутствует документация.

В общем, каждая сущность кода Qt, такая как свойства, классы, методы, сигналы и перечисления, имеет соответствующую команду темы. QDoc свяжет документацию с исходным кодом, используя правила именования C++.

QDoc будет анализировать заголовочные файлы (обычно файлы .h) для построения дерева структуры классов. Затем QDoc проанализирует исходные файлы и файлы документации, чтобы прикрепить документацию к структуре класса. После этого QDoc сгенерирует страницу для класса.

Примечание: QDoc использует заголовочные файлы, чтобы получить информацию о классе, и не будет правильно обрабатывать комментарии QDoc в заголовочных файлах.

Стили языка

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

  • Стиль документации C++
  • Стиль документации QML

Документирование типов QML

В мире QML есть дополнительные сущности, которые нам необходимо документировать, такие как сигналы QML, присоединённые свойства и методы QML. Внутри они используют технологии Qt, однако документация API QML требует другой структуры и правил именования по сравнению с документацией API Qt C++.

Список команд QDoc, связанных с QML:

  • \qmlattachedproperty
  • \qmlattachedsignal
  • \qmlbasictype
  • \qmltype - создает документацию типа QML
  • \qmlmethod
  • \qmlproperty
  • \qmlsignal
  • \inherits
  • \qmlmodule
  • \inqmlmodule
  • \instantiates

Примечание: Не забудьте включить парсинг QML, добавив тип файла *.qml в переменную fileextension.

Для документирования типа QML начните с создания комментария QDoc, который использует команду \qmltype в качестве команды темы.

Парсер QML

Если ваш тип QML определён в файле qml, документируйте его там. Если ваш тип QML представлен классом C++, документируйте его в файле cpp для этого класса C++ и добавьте команду \instantiates для указания имени класса C++. Не документируйте тип QML в файле cpp, если тип QML определён в файле qml.

При документировании типа QML в файле qml размещайте каждый комментарий QDoc непосредственно над сущностью, к которой относится комментарий. Например, разместите комментарий QDoc, содержащий команду \qmltype (комментарий темы), непосредственно над внешним типом QML в файле qml. Разместите комментарий для документирования свойства QML непосредственно над объявлением свойства и так далее для обработчиков сигналов QML и методов QML. Обратите внимание, что при документировании свойств QML в файле qml вы обычно не включаете команду \qmlproperty как команду темы (которую вы должны использовать при документировании типов QML в файлах cpp), поскольку парсер QML автоматически связывает каждый комментарий QDoc со следующим объявлением QML, которое он анализирует. То же самое относится к комментариям обработчиков сигналов QML и методов QML. Но иногда бывает полезно включить одну или несколько команд \qmlproperty в комментарий, например, когда тип свойства — другой тип QML и вы хотите, чтобы пользователь использовал только определённые свойства в этом другом типе QML, но не все. Но при документировании свойства, имеющего псевдоним, помещайте комментарий QDoc для него непосредственно над объявлением псевдонима. В этих случаях комментарий QDoc *обязательно* должен содержать команду \qmlproperty, поскольку это единственный способ, которым QDoc может узнать тип алиасового свойства.

При документировании типа QML в файле cpp соответствующего класса C++ (если он есть), вы обычно размещаете каждый комментарий QDoc непосредственно над сущностью, которую он документирует. Однако QDoc не использует парсер QML для анализа этих файлов (используется парсер C++), поэтому эти комментарии QML QDoc могут располагаться где угодно в файле cpp. Обратите внимание, что комментарии QML QDoc в файлах cpp *обязательно* должны использовать команды QML. То есть команда \qmltype *обязательно* должна присутствовать в комментарии QDoc для типа QML, а команда \qmlproperty *обязательно* должна присутствовать в каждом комментарии QDoc свойства QML.

Модули QML

Тип QML принадлежит к модулю. Модуль может включать все связанные типы для платформы или содержать определенную версию Qt Quick. Например, типы QML Qt Quick 2 относятся к модулю Qt Quick 2, а также существует модуль Qt Quick 1 для более старых типов, введённых в Qt 4.

Модули QML позволяют группировать типы QML. Команда темы \qmltype должна иметь контекстную команду \inqmlmodule для связи типа с модулем QML. Аналогично, команда темы \qmlmodule должна существовать в отдельном файле .qdoc для создания обзорной страницы модуля. На обзорной странице будут перечислены типы QML модуля QML.

Ссылки на типы QML должны, следовательно, также содержать имя модуля. Например, если тип под названием TabWidget находится в модуле UIComponents, он должен быть связан как UIComponents::TabWidget.

Только для чтения и внутренние свойства QML

QDoc обнаруживает свойства QML, помеченные как readonly. Обратите внимание, что свойство должно быть инициализировано значением.

readonly property int sampleReadOnlyProperty: 0

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

Статьи и обзоры

Статьи и обзоры — это стиль написания, наиболее подходящий для предоставления кратких сведений о теме или концепции. Это может означать введение новой технологии или обсуждение того, как можно применить концепцию, но без слишком подробного обсуждения конкретных шагов. Однако этот тип контента может служить отправной точкой для читателей, чтобы найти обучающие и справочные материалы, такие как учебники, примеры и документацию к классам. Примером обзора может быть страница продукта, например, общее обсуждение Qt Quick, отдельных модулей, принципов проектирования или инструментов.

Чтобы указать, что документ является статьей, добавьте ключевое слово article к команде \page:

/*!
    \page overview-qt-technology.html overview
    \title Overview of a Qt Technology

    \brief provides a technology never seen before.

*/

В разделе команд темы написания приведен список доступных аргументов команды \page.

Учебники, руководства, ЧАВО

Учебники, руководства и ЧАВО (Часто Задаваемые Вопросы) — это все обучающие материалы, которые дают инструкции или предписывают действия читателю. Учебники — это материалы, предназначенные для руководства читателем по постепенному освоению концепции или технологии. Руководства и ЧАВО предоставляют руководство, представляя материалы в виде ответов на часто задаваемые вопросы. Руководства и ЧАВО предназначены для лёгкого доступа и не обязательно представлены в линейной последовательности.

Чтобы создать эти типы, помечайте страницы, предоставив аргумент type для команды \page. Аргумент type — это второй аргумент, а имя файла — первый.

/*!
    \page altruism-faq.html faq
    \title Altruism Frequently Asked Questions

    \brief All the questions about altruism, answered.

    ...
*/

В разделе команд темы написания приведен список доступных аргументов команды \page.

Примеры кода

Примеры — эффективный способ продемонстрировать практическое применение данной технологии или концепции. В отношении промежуточного программного обеспечения это обычно имеет вид приложения, использующего простой код и чёткие объяснения того, что делает код. Любой модуль, API, проект, шаблон и т. д. должен иметь по крайней мере один хороший пример.

Пример может иметь сопроводительный учебник. Учебник инструктирует и описывает код, а пример кода — это содержимое кода, которое пользователи могут изучить. Примеры кода могут сопровождаться текстом, который не находится в учебнике.

QDoc создаст страницу, содержащую пример кода с описанием, используя команду \example.

/*!
    \title UI Components: Tab Widget Example
    \example declarative/ui-components/tabwidget

    This example shows how to create a tab widget. It also demonstrates how
    \l {Property aliases}{property aliases} and
    \l {Introduction to the QML Language#Default Properties}{default properties} can be used to collect and
    assemble the child items declared within an \l Item.

    \image qml-tabwidget-example.png
*/

QDoc будет использовать каталог, указанный в переменной ввода exampledirs, для поиска файла проекта Qt (.pro) для генерации файлов примера. Сгенерированный HTML будет иметь имя файла declarative-ui-components-tabwidget.html. QDoc также будет перечислять весь пример кода.

Примечание: Файл проекта примера должен совпадать с именем каталога.

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

Spec-Zone.ru

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