주제 명령

토픽 명령은 문서화 중인 소스 코드 요소를 QDoc에 알려줍니다. 일부 토픽 명령을 사용하면 기본 소스 코드 요소에 연결되지 않은 문서 페이지를 만들 수 있습니다.

QDoc은 QDoc 주석을 처리할 때 먼저 소스 코드 요소의 이름을 지정하는 주제 명령을 찾아서 주석을 소스 코드의 요소에 연결하려고 시도합니다. 토픽 명령이 없는 경우 QDoc은 주석을 주석 바로 뒤에 오는 소스 코드 요소에 연결하려고 시도합니다. 이 중 어느 것도 할 수 없고 주석에 기본 소스 코드 요소가 없음을 나타내는 토픽 명령(예: \page)이 없는 경우 주석이 삭제됩니다.

문서화되는 엔티티의 이름은 일반적으로 토픽 명령의 유일한 인수입니다. 전체 이름을 사용하세요. 때로는 인자에 두 번째 매개변수가 있을 수 있습니다. 예를 들어 \page를 참조하세요.

\enum QComboBox::InsertPolicy

fn 명령은 특별한 경우입니다. fn 명령의 경우 클래스 한정자를 포함한 함수 서명을 사용합니다.

\fn void QGraphicsWidget::setWindowFlags(Qt::WindowFlags wFlags)

토픽 명령은 댓글의 어느 곳에나 표시할 수 있지만 반드시 자체 줄에 독립적으로 서야 합니다. 토픽 명령이 댓글의 첫 줄이 되도록 하는 것이 좋습니다. 인수가 여러 줄에 걸쳐 있는 경우 마지막 줄을 제외한 각 줄이 백슬래시로 끝나야 합니다. 또한 QDoc은 괄호를 계산하므로 '('를 만나면 닫는 ')'까지 모든 것을 인수로 간주합니다.

주제 명령이 다른 인수를 사용하여 반복되는 경우 두 단위 모두에 대해 동일한 문서가 표시됩니다.

/*!
    \fn void PreviewWindow::setWindowFlags()
    \fn void ControllerWindow::setWindowFlags()

    Sets the widgets flags using the QWidget::setWindowFlags()
    function.

    Then runs through the available window flags, creating a text
    that contains the names of the flags that matches the flags
    parameter, displaying the text in the widgets text editor.
*/

PreviewWindow::setWindowFlags()ControllerWindow::setWindowFlags() 함수는 동일한 문서가 표시됩니다.

토픽 명령으로 생성된 파일에 대한 명명법

페이지와 같은 많은 토픽 명령의 경우 QDoc은 문서를 처리할 때 파일을 생성합니다.

QDoc은 디스크에 쓰기 전에 각 파일의 이름을 정규화합니다. 다음 작업이 수행됩니다:

  • 영숫자가 아닌 문자의 모든 시퀀스는 하이픈 '-'로 바뀝니다.
  • 모든 대문자는 소문자로 대체됩니다.
  • 모든 후행 하이픈이 제거됩니다.

예를 들어 다음 명령은 this-generates-a-file-and-writes-it-to-disk.html 이라는 파일을 생성합니다:

\page this_generates_a_file_(and_writes_it_to_DISK)-.html

예제에서 볼 수 있듯이 명령에 지정된 파일 이름은 디스크에 기록되는 실제 파일 이름과 다를 수 있습니다.

생성된 파일의 접두사 및 접미사

QDoc이 파일을 생성할 때 파일이 문서화할 요소에 따라 접두사, 접미사 또는 둘 다를 추가할 수 있습니다.

아래 표는 다양한 요소에 대한 접두사와 접미사가 무엇인지 보여줍니다.

요소접두사접미사명령
QML 모듈None"-qmlmodule"\qmlmodule
모듈None"-module"\모듈
예제프로젝트 구성 변수에 지정된 프로젝트 이름 뒤에 하이픈을 붙입니다."-example"\예제
QML 유형출력prefixes 구성 변수에 지정된 대로 QML의 출력 접두사.

이 유형이 포함된 모듈이 QDoc에 알려진 경우 모듈 이름이 접두사로 추가되고, 그 뒤에 outputsuffixes 구성 변수에 정의된 대로 QML 출력 접미사와 하이픈이 추가됩니다.

None\qmltype

\클래스

class 명령은 C++ 클래스, C/C++ 구조체 또는 공용체를 문서화하는 데 사용됩니다. 인수는 클래스의 정규화된 전체 이름입니다. 이 명령은 클래스가 공용 API의 일부임을 QDoc에 알려주고 자세한 설명을 입력할 수 있도록 합니다.

/*!
    \class QMap::iterator
    \inmodule QtCore

    \brief The QMap::iterator class provides an STL-style
    non-const iterator for QMap and QMultiMap.

    QMap features both \l{STL-style iterators} and
    \l{Java-style iterators}. The STL-style iterators ...
*/

명명된 클래스에 대한 HTML 문서는 클래스 이름에서 소문자를 사용하고 이중 콜론 한정자를 '-'로 바꾼 .html 파일에 작성됩니다. 예를 들어 QMap::iterator 클래스에 대한 문서는 qmap-iterator.html 에 작성됩니다.

이 파일에는 \class 주석의 클래스 설명과 모든 클래스 멤버에 대한 QDoc 주석에서 생성된 문서, 즉 클래스의 유형, 속성, 함수, 신호 및 슬롯 목록이 포함됩니다.

클래스 주석에는 일반적으로 클래스에 대한 자세한 설명 외에도 \inmodule 명령과 \brief 설명이 포함됩니다. 다음은 매우 간단한 예입니다:

/*!
    \class PreviewWindow
    \inmodule CustomWidgets
    \brief The PreviewWindow class is a custom widget.
           displaying the names of its currently set
           window flags in a read-only text editor.

    \ingroup miscellaneous

    The PreviewWindow class inherits QWidget. The widget
    displays the names of its window flags set with the \l
    {function} {setWindowFlags()} function. It is also
    provided with a QPushButton that closes the window.

    ...

    \sa QWidget
*/

QDoc이 이 \class를 렌더링하는 방식은 style.css 파일에 따라 다릅니다.

\열거형

enum 명령은 C++ 열거 형을 문서화하는 데 사용됩니다. 인수는 열거형 타입의 전체 이름입니다.

열거형 값은 \value 명령을 사용하여 \enum 주석에 문서화됩니다. 열거형 값이 \value로 문서화되지 않은 경우 QDoc은 경고를 표시합니다. 이러한 경고는 열거형 값을 문서화해서는 안 된다고 QDoc에 알려주는 \omitvalue 명령을 사용하여 피할 수 있습니다. 열거형 문서는 열거형 유형이 정의된 클래스 참조 페이지, 헤더 파일 페이지 또는 네임스페이스 페이지에 포함됩니다. 예를 들어, Qt 이름 공간의 열거형 Corner 을 생각해 보겠습니다:

enum Corner {
    TopLeftCorner = 0x00000,
    TopRightCorner = 0x00001,
    BottomLeftCorner = 0x00002,
    BottomRightCorner = 0x00003
#if defined(QT3_SUPPORT) && !defined(Q_MOC_RUN)
    ,TopLeft = TopLeftCorner,
    TopRight = TopRightCorner,
    BottomLeft = BottomLeftCorner,
    BottomRight = BottomRightCorner
#endif
};

이 열거형은 이런 식으로 문서화할 수 있습니다:

/*!
    \enum Qt::Corner

    This enum type specifies a corner in a rectangle:

    \value TopLeftCorner
           The top-left corner of the rectangle.
    \value TopRightCorner
           The top-right corner of the rectangle.
    \value BottomLeftCorner
           The bottom-left corner of the rectangle.
    \value BottomRightCorner
           The bottom-right corner of the rectangle.

    \omitvalue TopLeft
    \omitvalue TopRight
    \omitvalue BottomLeft
    \omitvalue BottomRight
               Bottom-right (omitted; not documented).
*/

네임스페이스 한정자가 포함되어 있다는 점에 유의하세요.

value\omitvalue도 참조하세요.

\예제

example 명령은 예제를 문서화하는 데 사용됩니다. 인수는 QDoc 구성 파일의 exampledirs 변수에 나열된 경로 중 하나를 기준으로 하는 예제의 경로입니다.

문서 페이지는 modulename-path-to-example.html로 출력됩니다. noautolist 명령을 사용하지 않거나 프로젝트에 대해 구성 변수 url.examples가 정의되어 있지 않는 한 QDoc은 페이지 끝에 모든 예제의 소스 및 이미지 파일 목록을 추가합니다.

예를 들어, exampledirs에 $QTDIR/examples/widgets/imageviewer 이 포함되어 있으면

/*!
    \example widgets/imageviewer
    \title ImageViewer Example
    \subtitle

    The example shows how to combine QLabel and QScrollArea
    to display an image.

    ...
*/

참조: \ noautolist, url.examples, \meta

\외부 페이지

externalpage 명령은 외부 URL에 제목을 할당합니다.

/*!
    \externalpage http://doc.qt.io/
    \title Qt Documentation Site
*/

이렇게 하면 문서에 외부 페이지로 연결되는 링크를 포함할 수 있습니다:

/*!
    At the \l {Qt Documentation Site} you can find the latest
    documentation for Qt, Qt Creator, the Qt SDK and much more.
*/

외부 페이지 명령을 사용하지 않고 동일한 결과를 얻으려면 문서에 주소를 하드코딩해야 합니다:

/*!
    At the \l {http://doc.qt.io/}{Qt Documentation Site}
    you can find the latest documentation for Qt, Qt Creator, the Qt SDK
    and much more.
*/

외부 페이지 명령을 사용하면 문서를 더 쉽게 유지 관리할 수 있습니다. 주소가 변경되면 \externalpage 명령의 인수만 변경하면 됩니다.

\fn(함수)

fn 명령은 함수를 문서화하는 데 사용됩니다. 인수는 템플릿 매개변수(있는 경우), 반환 유형, const-ness 및 유형이 있는 형식 인자 목록을 포함한 함수의 서명입니다. 명명된 함수가 존재하지 않으면 QDoc은 경고를 표시합니다.

이 명령은 전체 유형을 QDoc에서 추론할 수 있더라도 auto 을 함수의 유형으로 받아들입니다. 특정 상황에서는 함수의 실제 유형 대신 자동을 사용하는 것이 더 바람직할 수 있습니다. fn-명령의 반환 유형으로 auto 을 사용하면 자동 키워드 없이 정의된 유형에 대해서도 작성자가 명시적으로 이 작업을 수행할 수 있습니다.

QDoc 버전 6.0부터는 헤더에 명시적으로 선언되지는 않았지만 컴파일러에 의해 암시적으로 생성되는 클래스 멤버(기본 생성자 및 소멸자, 복사 생성자 및 이동-복사 생성자, 할당 연산자 및 이동-할당 연산자)를 문서화하는 데 \fn 명령을 사용할 수 있습니다.

숨겨진 친구를 문서화할 때는 함수 이름 앞에 클래스 이름을 붙여야 합니다. 예를 들어, for:

class Foo {
   ...
   friend bool operator==(const Foo&, const Foo&) { ... }
   ...
}

이 명령은 무료 함수 "\fn operator==(const Foo&, const Foo&)" 가 아닌 "\fn Foo::operator==(const Foo&, const Foo&)" 로 작성해야 합니다.

그렇게 하지 않으면 QDoc에서 함수를 확인할 수 없다는 불만을 표시합니다.

참고: \fn 명령은 QDoc의 기본 명령으로, QDoc 주석에서 주제 명령을 찾을 수 없는 경우 QDoc은 문서를 마치 함수에 대한 문서인 것처럼 다음 코드에 연결하려고 시도합니다. 따라서 일반적으로 함수를 문서화할 때 이 명령을 포함할 필요가 없는데, 함수의 QDoc 주석이 .cpp 파일의 함수 구현 바로 위에 작성되어 있는 경우에는 이 명령을 포함할 필요가 없습니다. 그러나 .h 파일에 구현된 인라인 함수를 .cpp 파일에 문서화할 때는 반드시 이 명령어를 포함해야 합니다.

/*!
    \fn bool QToolBar::isAreaAllowed(Qt::ToolBarArea area) const

    Returns \c true if this toolbar is dockable in the given
    \a area; otherwise returns \c false.
*/

참고: 디버그 모드에서 실행( -debug 명령줄 옵션을 전달하거나 QDoc을 호출하기 전에 QDOC_DEBUG 환경 변수를 설정)하면 QDoc이 구문 분석에 실패하는 \fn 명령 문제를 해결하는 데 도움이 될 수 있습니다. 디버그 모드에서는 추가 진단 정보를 사용할 수 있습니다.

오버로드도 참조하세요.

\group

group 명령은 명명된 그룹에 속하는 클래스, 페이지 또는 기타 엔티티를 나열하는 별도의 페이지를 만듭니다. 인수는 그룹 이름입니다.

클래스는 \ingroup 명령을 사용하여 그룹에 포함됩니다. 개요 페이지도 같은 명령을 사용하여 그룹에 연결할 수 있지만 개요 페이지 목록은 \generatelist 명령을 사용하여 명시적으로 요청해야 합니다(아래 예 참조).

group 명령 뒤에는 일반적으로 \title 명령과 그룹에 대한 간단한 소개가 이어집니다. 그룹에 대한 HTML 페이지는 <소문자 그룹 이름>.html이라는 .html 파일에 작성됩니다.

그룹의 각 엔터티는 링크(페이지 제목 또는 클래스 이름 사용)로 나열되며, 그 뒤에 엔터티 설명서에 있는 \brief 명령의 설명이 이어집니다.

/*!
    \group io
    \title Input/Output and Networking
*/

QDoc은 그룹 페이지 io.html 를 생성합니다.

그룹과 관련된 개요 페이지는 related 인수와 함께 \generatelist 명령을 사용하여 명시적으로 나열해야 합니다.

/*!
    \group architecture

    \title Architecture

    These documents describe aspects of Qt's architecture
    and design, including overviews of core Qt features and
    technologies.

    \generatelist{related}
*/

그룹, \주석 목록, \생성 목록\자동 목록도 참조하세요.

\헤더파일

headerfile 명령은 네임스페이스가 아닌 헤더 파일에 선언된 전역 함수, 유형 및 매크로를 문서화하는 데 사용됩니다. 인수는 헤더 파일의 이름입니다. HTML 페이지는 헤더 파일 인수로 구성된 .html 파일에 기록됩니다.

문서화 중인 헤더 파일에 선언된 함수, 유형 또는 매크로에 대한 문서는 \relates 명령을 사용하여 헤더 파일 페이지에 포함됩니다.

인수가 헤더 파일로 존재하지 않는 경우 \headerfile 명령은 헤더 파일에 대한 문서 페이지를 만듭니다.

/*!
   \headerfile <QtAlgorithms>

   \title Generic Algorithms

   \brief The <QtAlgorithms> header file provides
    generic template-based algorithms.

   Qt provides a number of global template functions in \c
   <QtAlgorithms> that work on containers and perform
   well-know algorithms.
*/

QDoc은 헤더 파일 페이지인 qtalgorithms.html 를 생성합니다.

inheaderfile도 참조하세요.

\macro

macro 명령은 C++ 매크로를 문서화하는 데 사용됩니다. 인수는 Q_ASSERT()와 같은 함수형 매크로, Q_PROPERTY()와 같은 선언형 매크로, Q_OBJECT 와 같은 괄호 없는 매크로의 세 가지 스타일 중 하나로 매크로를 지정합니다.

매크로 주석에는 매크로 주석을 클래스, 헤더 파일 또는 네임스페이스에 첨부하는 \관련 명령이 포함되어야 합니다. 그렇지 않으면 문서가 손실됩니다.

\module

module은 명령의 인수로 지정된 모듈에 속한 클래스를 나열하는 페이지를 만듭니다. 클래스 주석에 \inmodule 명령을 포함하면 모듈에 포함된 클래스가 표시됩니다.

module 명령 뒤에는 일반적으로 \title과 \brief 명령이 뒤따릅니다. 각 클래스는 클래스 참조 페이지로 연결되는 링크로 나열되고 그 뒤에 해당 클래스의 \brief 명령의 텍스트가 표시됩니다. 예를 들어

/*!
    \module QtNetwork

    \title Qt Network Module

    \brief Contains classes for writing TCP/IP clients and servers.

    The network module provides classes to make network
    programming easier and portable. It offers both
    high-level classes such as QNetworkAccessManager that
    implements application-level protocols, and
    lower-level classes such as QTcpSocket, QTcpServer, and
    QUdpSocket.
*/

여기에 \noautolist 명령을 사용하여 마지막에 자동으로 생성된 클래스 목록을 생략할 수 있습니다.

인모듈도 참조하세요.

\네임스페이스

namespace 명령은 인자로 지정된 C++ 네임스페이스의 내용을 문서화하는 데 사용됩니다. QDoc이 네임스페이스에 대해 생성하는 참조 페이지는 C++ 클래스에 대해 생성하는 참조 페이지와 유사합니다.

/*!
    \namespace Qt

    \brief Contains miscellaneous identifiers used throughout the Qt library.
*/

C++에서는 특정 네임스페이스가 둘 이상의 모듈에서 사용될 수 있지만, 서로 다른 모듈의 C++ 요소가 동일한 네임스페이스에서 선언된 경우 네임스페이스 자체는 하나의 모듈에만 문서화되어야 합니다. 예를 들어, 위 예제에서 네임스페이스 Qt는 QtCoreQtGui 의 유형과 함수를 모두 포함하지만 QtCore 에만 \namespace 명령으로 문서화되어 있습니다.

\페이지

페이지 명령은 독립형 문서 페이지를 만드는 데 사용됩니다.

페이지 명령은 QDoc이 페이지를 저장할 파일 이름을 나타내는 단일 인수를 기대합니다.

페이지 제목은 \title 명령을 사용하여 설정합니다.

/*!
   \page aboutqt.html

   \title About Qt

   Qt is a C++ toolkit for cross-platform GUI
   application development. Qt provides single-source
   portability across Microsoft Windows, macOS, Linux,
   and all major commercial Unix variants.

   Qt provides application developers with all the
   functionality needed to build applications with
   state-of-the-art graphical user interfaces. Qt is fully
   object-oriented, easily extensible, and allows true
   component programming.

   ...
*/

QDoc은 이 페이지를 aboutqt.html 에 렌더링합니다.

\property

property 명령은 Qt 프로퍼티를 문서화하기 위한 명령입니다. 인수는 전체 속성 이름입니다.

프로퍼티는 Q_PROPERTY() 매크로를 사용하여 정의됩니다. 이 매크로는 프로퍼티의 이름과 해당 프로퍼티의 집합, 재설정 및 가져오기 함수를 인수로 받습니다.

Q_PROPERTY(QString state READ state WRITE setState)

설정, 재설정 및 가져오기 함수는 문서화할 필요가 없으며 프로퍼티를 문서화하는 것으로 충분합니다. QDoc은 프로퍼티 문서에 표시될 액세스 함수 목록을 생성하며, 이 목록은 프로퍼티를 정의하는 클래스의 문서에서 찾을 수 있습니다.

property 명령 주석에는 일반적으로 \brief 명령이 포함됩니다. 속성의 경우 \brief 명령의 인수는 속성에 대한 한 줄 설명에 포함될 문장 조각입니다. 이 명령은 설명에 대해 \variable 명령과 동일한 규칙을 따릅니다.

/*!
    \property QPushButton::flat
    \brief Whether the border is disabled.

    This property's default is false.
*/

\qmlattachedproperty

qmlattachedproperty 명령은 일부 QML 유형에 첨부될 QML 속성을 문서화하는 데 사용됩니다. 첨부된 속성을 참조하십시오. 인수는 줄의 나머지 부분입니다. 인수는 속성 유형으로 시작하고, 그 다음에 속성이 선언된 QML 유형 이름, :: 한정자, 마지막으로 속성 이름이 와야 합니다.

예를 들어 ListView 유형에 대해 isCurrentItem 이라는 이름의 부울 QML 첨부 속성을 문서화합니다:

/*!
    \qmlattachedproperty bool ListView::isCurrentItem

    This attached property is \c true if this delegate is the current
    item; otherwise false.

    It is attached to each instance of the delegate.

    This property may be used to adjust the appearance of the current
    item, for example:

    \snippet doc/src/snippets/declarative/listview/listview.qml isCurrentItem
*/

QDoc은 ListView 유형에 대한 QML 참조 페이지에 이 첨부된 속성을 포함합니다.

참고: \qmlproperty와 마찬가지로 \qmlattachedproperty는 인수의 일부로 QML 모듈 식별자를 허용합니다.

\qmlattachedsignal

qmlattachedsignal 명령은 첨부 가능한 신호를 문서화하기 위한 명령입니다. qmlattachedsignal 명령은 \qmlsignal 명령과 마찬가지로 사용됩니다.

인수는 줄의 나머지 부분입니다. 인수는 신호가 선언된 QML 유형의 이름, :: 한정자, 마지막으로 신호 이름이어야 합니다. 예를 들어 GridView 요소에 add() 라는 이름의 QML 첨부 신호는 다음과 같이 문서화됩니다:

/*!
    \qmlattachedsignal GridView::add()
    This attached signal is emitted immediately after an item is added to the view.
*/

QDoc은 GridView 요소에 대한 QML 참조 페이지에 이 설명서를 포함합니다.

참고: \qmlproperty와 마찬가지로 \qmlattachedsignal은 인수의 일부로 QML 모듈 식별자를 받아들입니다.

\qmlvaluetype

qmlvaluetype 명령은 QML의 값 유형을 문서화하기 위한 명령입니다. 이 명령은 유형 이름을 유일한 인수로 사용합니다.

\qmlvaluetype은 기능적으로 \qmltype 명령과 동일합니다. 유일한 차이점은 유형이 QML 값 유형으로 제목이 지정되고 그룹화된다는 것입니다.

\qmlclass

이 명령은 더 이상 사용되지 않습니다. 대신 \qmltype을 사용합니다.

\qmlmethod

qmlmethod 명령은 QML 메서드를 문서화하는 데 사용됩니다. 인수는 반환 유형과 매개변수 이름 및 유형을 포함한 전체 메서드 서명입니다.

/*!
    \qmlmethod void TextInput::select(int start, int end)

    Causes the text from \a start to \a end to be selected.

    If either start or end is out of range, the selection is not changed.

    After having called this, selectionStart will become the lesser, and
    selectionEnd the greater (regardless of the order passed to this method).

   \sa selectionStart, selectionEnd
*/

QDoc은 TextInput 요소에 대한 요소 참조 페이지에 이 설명서를 포함합니다.

\qmltype

qmltype 명령은 QML 유형을 문서화하기 위한 명령입니다. 이 명령에는 QML 유형의 이름인 인수가 하나 있습니다.

QML 유형에 해당하는 C++ 클래스가 있는 경우 해당 클래스는 \nativetype 컨텍스트 명령으로 해당 클래스를 지정할 수 있습니다.

inqmlmodule 명령은 해당 유형이 속한 QML 모듈을 문서화합니다. 이 명령에 전달되는 인수는 문서화된 \qmlmodule 페이지와 일치해야 합니다.

/*!
    \qmltype Transform
    \nativetype QGraphicsTransform
    \inqmlmodule QtQuick

    \brief Provides a way to build advanced transformations on Items.

    The Transform element is a base type which cannot be
    instantiated directly.
*/

여기서 \qmltype 주석은 다음을 포함합니다. \nativetype 를 포함하여 트랜스폼이 C++ 클래스 QGraphicsTransform 에 대응하는 QML임을 지정합니다. 모든 QML 유형은 새 유형이므로 \qmltype 주석에는 항상 \since 명령이 포함되어야 합니다. 간단한 설명도 포함해야 합니다. QML 유형이 QML 유형 그룹의 멤버인 경우 \qmltype 주석에는 하나 이상의 \ingroup 명령이 포함되어야 합니다.

\qmlproperty

qmlproperty 명령은 QML 속성을 문서화하는 데 사용됩니다. 인수는 줄의 나머지 부분입니다. 인자 텍스트는 속성 유형, 그 다음에 QML 유형 이름, :: 한정자, 마지막으로 속성 이름이어야 합니다. QML 유형 Translatex 라는 이름의 QML 프로퍼티가 있고 프로퍼티의 유형이 real 인 경우 해당 프로퍼티에 대한 \qmlproperty는 다음과 같이 표시됩니다:

/*!
    \qmlproperty real Translate::x

    The translation along the X axis.
*/

QDoc은 Translate 유형에 대한 QML 참조 페이지에 이 QML 속성을 포함합니다.

QML 속성이 열거형 유형이거나 비트 단위의 플래그 조합을 포함하는 경우 \value 명령을 사용하여 허용되는 값을 문서화할 수 있습니다.

QDoc은 QML 모듈 식별자를 포함한 정규화된 속성 이름도 허용합니다:

\qmlproperty bool QtQuick.Controls::Button::highlighted

지정된 경우 모듈 식별자(위, QtQuick.Controls)는 관련 \qmltype 문서에서 \inqmlmodule 명령에 전달된 값과 일치해야 합니다. 속성이 속한 QML 유형의 이름이 문서 프로젝트의 모든 유형에서 고유한 경우 모듈 식별자를 생략할 수 있습니다.

\qmlsignal

qmlsignal 명령은 QML 신호를 문서화하는 데 사용됩니다. 인수는 줄의 나머지 부분입니다. 인수는 신호가 선언된 QML 유형, :: 한정자, 마지막으로 신호 이름이어야 합니다. clicked() 이라는 이름의 QML 신호가 있는 경우 해당 신호에 대한 문서는 다음과 같습니다:

/*!
    \qmlsignal MouseArea::clicked(MouseEvent mouse)

    This signal is emitted when there is a click. A click is defined as a
    press followed by a release, both inside the MouseArea.
*/

QDoc은 MouseArea 유형에 대한 QML 참조 페이지에 이 설명서를 포함합니다.

참고: \qmlproperty와 마찬가지로 \qmlsignal은 인수의 일부로 QML 모듈 식별자를 받아들입니다.

\qmlmodule

\qmlmodule 명령을 사용하여 QML 모듈 페이지를 만듭니다. QML 모듈 페이지는 QML 유형 또는 관련 자료의 모음입니다. 이 명령은 <VERSION> 숫자 인수를 선택적으로 사용할 수 있으며 group-command와 유사합니다.

QML 유형은 해당 유형을 문서화하는 댓글 블록에 \inqmlmodule 명령을 추가하여 모듈과 연결됩니다. 모듈 이름과 콜론(::) 접두사 두 개를 사용하여 QML 모듈의 모든 멤버에 연결할 수 있습니다.

/*!
    A link to the TabWidget of the UI Component is \l {UIComponent::TabWidget}.
*/

QDoc은 모듈의 모든 멤버를 나열하는 모듈 페이지를 생성합니다.

/*!
    \qmlmodule ClickableComponents

    This is a list of the Clickable Components set. A Clickable component
    responds to a \c clicked() event.
*/

\inqmlmodule

QML 유형은 특정 QML 모듈 가져오기에서 사용할 수 있는 것으로 표시되며, \qmltype 항목에 \inqmlmodule 명령을 삽입하면 됩니다. 이 명령은 버전 번호 없이 모듈(가져오기) 이름만 유일한 인수로 사용합니다.

QML 모듈 이름은(\qmlmodule 명령으로 문서화된 QML 모듈과 일치해야 합니다.)

/*!
    \qmltype ClickableButton
    \inqmlmodule ClickableComponents

    A clickable button that responds to the \c click() event.
*/

QDoc은 QML 유형 참조 페이지의 상단에 있는 테이블에 Import 문: import <qmlmodule> 행을 출력합니다.

QML 유형에 연결할 때 QML 모듈 식별자가 링크 대상에 나타날 수 있습니다. 예를 들어

\l {ClickableComponents::}{ClickableButton}

ClickableButton을 링크 텍스트로 사용하여 유형 참조 페이지로 연결합니다.

\인스턴스화

인스턴스화 명령은 Qt 6.8부터 더 이상 사용되지 않습니다. 대신 \nativetype 를 대신 사용하십시오.

\네이티브 유형

네이티브 유형 명령은 \nativetype 명령과 함께 사용해야 합니다. \qmltype 주제 명령과 함께 사용해야 합니다. 이 명령은 C++ 클래스를 인수로 받습니다. QDoc이 C++ 클래스를 찾을 수 없으면 경고를 표시합니다. 이 명령은 Qt 6.8에 도입되었습니다.

네이티브 타입 명령어를 사용하여 C++에서 호출되는 타입을 지정할 수 있습니다. 이렇게 하면 QML 유형에 대한 문서에서 생성된 필수 블록에 "In C++" 항목이 포함됩니다. C++ 클래스에는 해당 "In QML" 항목이 있습니다.

하나의 QML 유형은 하나의 기본 유형만 가질 수 있습니다. 재정의가 발생하면 QDoc에서 경고를 표시합니다. 그러나 여러 QML 유형은 네이티브 유형과 동일한 C++ 클래스를 가질 수 있습니다. C++ 클래스 문서에는 QML의 모든 해당 유형 목록이 포함됩니다.

/*!
    \qmltype Transform
    \nativetype QGraphicsTransform
    \inqmlmodule QtQuick

    \brief Provides a way to build advanced transformations on Items.

    The Transform element is a base type which cannot be
    instantiated directly.
*/

여기서 \qmltype 항목에는 C++에서 Transform이 QGraphicsTransform 이라고 호출되도록 지정하는 \nativetype이 포함되어 있습니다.

\유형 별칭

typealias 명령은 \typedef와 유사하지만 C++ 유형 별칭을 문서화하는 데 특화되어 있습니다:

class Foo
{
public:
    using ptr = void*;
// ...
}

다음과 같이 문서화할 수 있습니다.

/*!
    \typealias Foo::ptr
*/

typealias 명령은 QDoc 5.15에 도입되었습니다.

typedef를 참조하십시오.

\typedef

typedef 명령은 C++ typedef를 문서화하기 위한 명령입니다. 인수는 typedef의 이름입니다. typedef에 대한 문서는 typedef가 선언된 클래스, 이름 공간 또는 헤더 파일에 대한 참조 문서에 포함됩니다. typedef를 클래스, 네임스페이스 또는 헤더 파일과 연관시키려면 \typedef 주석에 \relates 명령이 포함되어야 합니다.

/*!
    \typedef QObjectList
    \relates QObject

    Synonym for QList<QObject>.
*/

다른 typedef는 이를 정의하는 클래스의 참조 페이지에 있습니다.

/*!
    \typedef QList::Iterator

    Qt-style synonym for QList::iterator.
*/

유형 별칭도 참조하세요.

\변수

변수 명령은 클래스 멤버 변수 또는 상수를 문서화하는 데 사용됩니다. 인수는 변수 또는 상수 이름입니다. 변수 명령 주석에는 \brief 명령이 포함됩니다. QDoc은 \brief 명령의 텍스트를 기반으로 문서를 생성합니다.

문서는 관련 클래스, 헤더 파일 또는 네임스페이스 문서에 있습니다.

멤버 변수의 경우:

/*!
    \variable QStyleOption::palette
    \brief The palette that should be used when painting
           the control
*/

변수 명령으로 상수를 문서화할 수도 있습니다. 예를 들어 QTreeWidgetItem 클래스에 TypeUserType 상수가 있다고 가정해 보겠습니다:

enum { Type = 0, UserType = 1000 };

이 경우 \variable 명령을 이런 식으로 사용할 수 있습니다:

/*!
    \variable QTreeWidgetItem::Type

    The default type for tree widget items.

    \sa UserType, type()
*/
/*!
    \variable QTreeWidgetItem::UserType

    The minimum value for custom types. Values below
    UserType are reserved by Qt.

    \sa Type, type()
*/

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.