2011-02-06 2 views
9

내 Q_PROPERTYs에 Doxygen 주석을 첨부하고 싶습니다. 예를 들어doxygen 코멘트 Qt 속성은 어떻게 작성합니까?

:

song.h

class Song : public QObject 
{ 
    Q_OBJECT 

private: 
    Q_PROPERTY(QString title READ title WRITE setTitle); 
    QString _title; 

public: 
    QString title() const; 
    void setTitle(const QString& value); 
}; 

song.cpp

#include "song.h" 

Song::Song(QObject *parent) : 
    QObject(parent) 
{ 
} 

QString Song::title() const { return _title; } 

void Song::setTitle(const QString &value) { _title = value; } 

가 어떻게 그 제목 Doxygen을 말할 수는 Qt의 메타 오브젝트 시스템과 제목 속성입니다() 및 setTitle()은 접근 자 함수입니까? this과 유사한 결과를 얻고 싶습니다.

답변

12

나는 마침내 이것을하는 방법을 발견했다. Doxyfile에서

/** 
* @brief The name of the user. 
* @accessors name(), setName() 
*/ 
Q_PROPERTY(QString name READ name WRITE setName) 
  • :

    • 소스 파일에서

      내가 무슨 짓을했는지

      ALIASES = "accessors=\par Accessors:\n" 
      

    가 생성됩니다 an alias 명 "접근"를 정의하다 "접근 자 :"라는 제목의 단락에 이어 참조 된 방법을 사용하십시오. 여기

    은 설명서의 모습입니다 :

    enter image description here


    팁 : 속성의 이름이 속성을 읽는 방법과 동일 경우, 당신이 할 수 있습니다 문서의 접근 자 이름 앞에 '%'이 있어야합니다. 그렇지 않으면 접근자가 자신을 가리키는 링크로 표시됩니다.

    /** 
    * ... 
    * @accessors %name(), setName() 
    * ... 
    */ 
    
  • 2

    OBJECTNAME 속성 qobject.cpp의 doxygen이 코멘트는 \ "재산"태그로 시작 :

    /*! 
        \property QObject::objectName 
    
        \brief the name of this object 
    
        You can find an object by name (and type) using findChild(). You can 
        find a set of objects with findChildren(). 
    
        \snippet doc/src/snippets/code/src_corelib_kernel_qobject.cpp 5 
    
        By default, this property contains an empty string. 
    
        \sa metaObject(), QMetaObject::className() 
    */ 
    

    당신이 그것을 사용하여 시도 적이 있습니까? 상자 밖에서 작동하지 않는다면 Qt가 문서를 생성하는 방법을 찾으려고합니다. 아마도 doxygen 구성에서 매크로/별칭이 필요합니다.

    +0

    Qt는 doxygen을 사용하지 않고 qdoc을 사용하여 설명서를 생성하지만 doxygen은 합리적으로 qdoc과 호환되도록 노력합니다. –

    12

    doxygen은 상자에서 Qt 속성을 지원합니다. 그냥 속성 선언 위에 문서 주석을 추가하면 doxygen 출력에 "속성"이 표시됩니다.

    접근 기능은 문서 주석이있는 경우 별도로 문서화됩니다. 따라서 생성 된 문서에서 이러한 주석 함수를 억제하려면 이러한 접근 함수에서 주석을 제거해야합니다.

    관련 문제