C++ 特定配置变量

The C++ specific configuration variables are provided to avoid erroneous documentation due to non-standard C++ constructs.

Cpp.ignoredirectives

The Cpp.ignoredirectives variable makes QDoc ignore the specified non-standard constructs, within C++ source code.

If not specified by the Cpp.ignoretokens or Cpp.ignoredirectives variables, non-standard constructs (typically macros) can result in erroneous documentation.

Cpp.ignoredirectives = Q_DECLARE_INTERFACE \
                       Q_DECLARE_OPERATORS_FOR_FLAGS \
                       Q_DECLARE_PRIVATE \
                       Q_DECLARE_PUBLIC \
                       Q_DISABLE_COPY \
                       Q_DUMMY_COMPARISON_OPERATOR \
                       Q_ENUMS \
                       Q_FLAGS \
                       Q_INTERFACES \
                       __attribute__
					

makes sure that when processing the code below, for example, QDoc will simply ignore the 'Q_ENUMS' and 'Q_FLAGS' expressions:

class Q_CORE_EXPORT Qt {
    Q_OBJECT
    Q_ENUMS(Orientation TextFormat BackgroundMode
            DateFormat ScrollBarPolicy FocusPolicy
            ContextMenuPolicy CaseSensitivity
            LayoutDirection ArrowType)
    Q_ENUMS(ToolButtonStyle)
    Q_FLAGS(Alignment)
    Q_FLAGS(Orientations)
    Q_FLAGS(DockWidgetAreas)
  public:
    ...
};
					

The Q_OBJECT macro, however, is an exception: QDoc recognizes this particular non-standard construct, so there is no need specifying it using the Cpp.ignoredirectives 变量。

Regarding the Q_CORE_EXPORT macro; see the documentation of the Cpp.ignoretokens 变量。

另请参阅 Cpp.ignoretokens .

Cpp.ignoretokens

The Cpp.ignoretokens variable makes QDoc ignore the specified non-standard constructs, within C++ source code.

If not specified by the Cpp.ignoretokens or Cpp.ignoredirectives variables, non-standard constructs (typically macros) can result in erroneous documentation.

qtgui.qdocconf :

Cpp.ignoretokens = QAXFACTORY_EXPORT \
                   QM_EXPORT_CANVAS \
                   ...
                   Q_COMPAT_EXPORT \
                   Q_CORE_EXPORT \
                   Q_EXPLICIT \
                   Q_EXPORT \
                   ...
                   Q_XML_EXPORT
					

makes sure that when processing the code below, for example, QDoc will simply ignore the 'Q_CORE_EXPORT' expression:

class Q_CORE_EXPORT Qt {
    Q_OBJECT
    Q_ENUMS(Orientation TextFormat BackgroundMode
            DateFormat ScrollBarPolicy FocusPolicy
            ContextMenuPolicy CaseSensitivity
            LayoutDirection ArrowType)
    Q_ENUMS(ToolButtonStyle)
    Q_FLAGS(Alignment)
    Q_FLAGS(Orientations)
    Q_FLAGS(DockWidgetAreas)
  public:
    ...
};
					

Regarding the Q_OBJECT , Q_ENUMS and Q_FLAGS macros; see the documentation of the Cpp.ignoredirectives 变量。

另请参阅 Cpp.ignoredirectives .