이 페이지에서

QDoc 소개

QDoc은 Qt 개발자가 소프트웨어 프로젝트에 대한 문서를 생성하는 데 사용하는 도구입니다. 이 도구는 프로젝트 소스 파일에서 QDoc 주석을 추출한 다음 HTML 페이지나 DocBook XML 문서로 서식을 지정하는 방식으로 작동합니다. QDoc은 .cpp 파일과 .qdoc 파일에서 QDoc 주석을 찾습니다. QDoc은 .h 파일에서는 QDoc 주석을 찾지 않습니다. QDoc 주석은 항상 느낌표(!)로 시작합니다.) 예를 들어

/*!
    \class QObject
    \brief The QObject class is the base class of all Qt objects.

    \ingroup objectmodel

    \reentrant

    QObject is the heart of the Qt \l{Object Model}. The
    central feature in this model is a very powerful mechanism
    for seamless object communication called \l{signals and
    slots}. You can connect a signal to a slot with connect()
    and destroy the connection with disconnect(). To avoid
    never ending notification loops you can temporarily block
    signals with blockSignals(). The protected functions
    connectNotify() and disconnectNotify() make it possible to
    track connections.

    QObjects organize themselves in \l {Object Trees &
    Ownership} {object trees}. When you create a QObject with
    another object as parent, the object will automatically
    add itself to the parent's \c children() list. The parent
    takes ownership of the object. It will automatically
    delete its children in its destructor. You can look for an
    object by name and optionally type using findChild() or
    findChildren().

    Every object has an objectName() and its class name can be
    found via the corresponding metaObject() (see
    QMetaObject::className()). You can determine whether the
    object's class inherits another class in the QObject
    inheritance hierarchy by using the \c inherits() function.

....
*/

위의 QDoc 댓글에서 QDoc은 HTML QObject class reference 페이지를 생성합니다.

이 설명서에서는 QDoc 주석의 QDoc 명령을 사용하여 소스 파일에 좋은 문서를 임베드하는 방법을 설명합니다. 또한 명령줄에서 QDoc에 전달할 QDoc 구성 파일을 만드는 방법도 설명합니다.

QDoc 실행하기

QDoc 프로그램의 이름은 qdoc 입니다. 명령줄에서 QDoc을 실행하려면 구성 파일의 이름을 지정합니다:

$ ../../bin/qdoc ./config.qdocconf

QDoc은 .qdocconf 접미사를 QDoc 구성 파일로 인식합니다. 구성 파일은 프로젝트 소스 파일, 헤더 파일 및 .qdoc 파일을 찾을 위치를 QDoc에 알려주는 곳입니다. 또한 QDoc에 어떤 종류의 출력(HTML, DocBook XML...)을 생성할지, 생성된 문서를 어디에 넣을지 알려주는 곳이기도 합니다. 구성 파일에는 QDoc에 대한 다른 정보도 포함되어 있습니다.

QDoc 구성 파일을 설정하는 방법에 대한 지침은 QDoc 구성 파일을 참조하세요.

QDoc 작동 방식

QDoc은 명령줄에서 지정한 구성 파일을 읽는 것으로 시작합니다. 나중에 사용할 수 있도록 구성 파일의 모든 변수를 저장합니다. 가장 먼저 사용하는 변수 중 하나는 outputformats 입니다. 이 변수는 QDoc이 실행할 출력 생성기를 알려줍니다. 기본값은 HTML이므로 구성 파일에서 outputformats 을 설정하지 않으면 QDoc이 HTML 출력을 생성합니다. 일반적으로 이 출력을 원할 것이지만 대신 DocBook 출력을 얻도록 DocBook을 지정할 수도 있습니다.

다음으로, QDoc은 headerdirs 변수 및/또는 headers 변수의 값을 사용하여 프로젝트의 모든 헤더 파일을 찾아 구문 분석합니다. QDoc은 헤더 파일에서 QDoc 주석을 검색하지 않습니다. 헤더 파일을 구문 분석하여 문서화해야 하는 모든 항목, 즉 QDoc이 QDoc 주석을 찾아야 하는 항목의 마스터 트리를 작성합니다.

모든 헤더 파일을 구문 분석하고 문서화할 항목의 마스터 트리를 만든 후 QDoc은 sourcedirs 변수 값 및/또는 sources 변수 값을 사용하여 프로젝트의 모든 .cpp.qdoc 파일을 찾아 구문 분석합니다. 이 파일들은 QDoc이 QDoc 주석을 찾기 위해 스캔하는 파일입니다. QDoc 주석은 느낌표로 시작한다는 것을 기억하세요: /*! .

QDoc 코멘트를 찾을 때마다 마스터 트리에서 해당 문서가 속한 항목을 검색합니다. 그런 다음 주석에 있는 QDoc 명령을 해석하고 해석된 명령과 주석 텍스트를 해당 항목의 트리 노드에 저장합니다.

마지막으로 QDoc은 마스터 트리를 탐색합니다. 각 노드에 저장된 문서가 있는 경우 QDoc은 outputformats 변수로 지정된 출력 생성기를 호출하여 출력dir 변수의 구성 파일에 지정된 디렉터리에 문서를 포맷하고 씁니다.

명령 유형

QDoc은 세 가지 유형의 명령을 해석합니다:

토픽 명령은 문서화 중인 요소(예: C++ 클래스, 함수, 유형 또는 기본 C++ 요소에 매핑되지 않는 추가 텍스트 페이지)를 식별합니다.

컨텍스트 명령은 문서화 중인 요소가 문서화된 다른 요소(예: 다음 및 이전 페이지 링크, 페이지 그룹에 포함 또는 라이브러리 모듈)와 어떻게 관련되어 있는지 QDoc에 알려줍니다. 컨텍스트 명령은 또한 문서화된 요소에 대한 정보(예: 해당 요소가 스레드에 안전한지, 오버로드되거나 재구현된 함수인지, 더 이상 사용되지 않는지 여부 등)를 QDoc이 소스 파일에서 얻을 수 없는 정보를 제공할 수 있습니다.

마크업 명령은 문서의 텍스트 및 이미지 요소를 렌더링하는 방법이나 문서의 개요 구조에 대해 QDoc에 알려줍니다.

© 2026 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.