通用配置变量

使用 QDoc 通用配置变量,您可以定义 QDoc 在何处找到生成文档所需的各种源文件,以及生成文档的存放目录。您还可以对 QDoc 本身进行一些小操作,控制其输出和处理行为。

代码缩进

codeindent 变量用于指定 QDoc 在编写代码片段时使用的缩进级别。

QDoc 最初使用的代码缩进硬编码值是 4 个空格,以确保代码片段可以很容易地与周围的文本区分开来。由于我们可以使用样式表来调整某些类型的 HTML 元素的外观,因此并不总是需要这种缩进级别。

代码前缀, 代码后缀

codeprefixcodesuffix 变量指定了每个代码片段所包含的一对字符串。

定义

defines 变量指定 QDoc 将识别和响应的 C++ 预处理器符号。

当使用defines 变量指定预处理器符号时,还可以使用\if命令来括弧文档,只有在定义了预处理器符号的情况下,才会包含该文档。

defines = QT_GUI_LIB

这样可以确保 QDoc 处理需要定义这些符号的代码。例如

#ifdef Q_GUI_LIB
void keyClick(QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1)
#endif

您也可以使用 -D 选项在命令行上手动定义预处理器符号。例如

currentdirectory$ qdoc -Dqtforpython qtgui.qdocconf

在本例中,-D 选项确保在 QDoc 处理 qtgui.qdocconf 文件中定义的源文件时,定义qtforpython 预处理器符号。

另请参阅falsehoods和 \if

取决于

depends 变量定义了该项目依赖的其他文档项目的列表,用于解析类型继承的链接目标和文档需要链接的其他内容。

与 Qt 本身一样,Qt 文档也分布在多个模块中。在多模块文档项目中,单个模块的最小依赖关系集包括实际的构建依赖关系。此外,如果有一个文档项目(模块)作为整个文档集的顶级入口点并提供导航链接,则每个模块文档都应将其作为依赖项。

当 QDoc 为一个项目生成文档时,它还会生成一个.index 文件,其中包含指向项目中每个可链接实体的 URL。每个依赖项都是一个项目的名称(小写)。该名称必须与为该项目生成的索引文件的基本名称一致。

depends = \
    qtdoc \
    qtcore \
    qtquick

在有依赖项并使用depends 变量的项目上调用 QDoc 时,必须将一个或多个-indexdir 路径作为命令行选项传入。QDoc 会使用这些路径搜索依赖项的索引文件。

qdoc mydoc.qdocconf -outputdir $PWD/html -indexdir $QT_INSTALL_DOCS

在上述情况下,QDoc 将搜索依赖项的文件$QT_INSTALL_DOCS/qtdoc/qtdoc.indexqtdoc 。如果未找到依赖项的索引文件,QDoc 将输出警告。

depends 命令还接受一个特殊值 "*"。这将指示 QDoc 加载在指定索引目录中找到的所有索引文件;也就是说,"依赖于一切"。

depends = *

另请参阅索引项目url

文档头文件(技术预览)

注: 此配置标志可启用 QDoc 中的技术预览功能。

设置documentationinheaders = true 可指示 QDoc 在为基于 C++ 的项目生成文档时也解析头文件中的文档注释。

警告: 在大型代码库中,这可能会影响 QDoc 的处理时间。因此,除非您需要,否则不应设置此标记。

示例

exampledirs 变量指定了包含示例文件源代码的目录。

examplesexampledirs变量被 \quotefromfile、\quotefile\example命令使用。如果同时定义了examplesexampledirs变量,QDoc 将同时在这两个目录中搜索,先搜索examples,再搜索exampledirs

QDoc 将按指定顺序搜索目录,并接受找到的第一个匹配文件。它只会在指定的目录中搜索,而不会在子目录中搜索。

exampledirs = $QTDIR/doc/src \
              $QTDIR/examples \
              $QTDIR \
              $QTDIR/qmake/examples

examples    = $QTDIR/examples/widgets/analogclock/analogclock.cpp

处理时

\quotefromfile widgets/calculator/calculator.cpp

QDoc 将查看是否有一个名为calculator.cpp 的文件被列为变量的值。 examples变量的值。如果没有,它将搜索exampledirs 变量,首先查看是否存在名为

$QTDIR/doc/src/widgets/calculator/calculator.cpp

的文件,如果没有,QDoc 将继续查找名为

$QTDIR/examples/widgets/calculator/calculator.cpp

的文件,以此类推。

另请参阅示例

例子

examples 变量允许您指定单个示例文件,而不是由 exampledirs变量指定的目录中的文件外,还可以指定单个示例文件。

examplesexampledirs变量被 \quotefromfile、\quotefile\example命令使用。如果同时定义了examplesexampledirs变量都定义了,QDoc 将在这两个地方搜索,首先在examples ,然后在 exampledirs.

QDoc 将按照指定的顺序搜索examples 变量列出的值,并接受找到的第一个值。

有关详细示例,请参阅 exampledirs命令。但请注意,如果您知道文件列在examples 变量中,就不必指定其路径:

\quotefromfile calculator.cpp

另请参阅exampledirs

示例安装路径

examplesinstallpath 变量用于设置已安装示例目录下本项目示例的根路径。

假设所有示例的根安装路径都是QT_INSTALL_EXAMPLES ,那么路径

<QT_INSTALL_EXAMPLES>/<examplesinstallpath>/<example_path>

将用于指代本文档项目中单个示例的路径。这些路径记录在示例清单文件中,由Qt Creator 读取。

为确保路径正确,examplesinstallpath 必须与exampledirs 中列出的目录之一相匹配。每条\example命令作为参数传递的路径都与exampledirs 中的路径相对。

例如

exampledirs = ./snippets \
              ../../../examples/mymodule

examplesinstallpath = mymodule

给定一个如下的 \example 命令:

/*!
    \example basic/hello
    ...
*/

那么,mymodule/basic/hello 这个路径就会记录在这个例子的清单文件中。

注意: 使用\meta命令可以覆盖单个\exampleexamplesinstallpath

另请参见exampledirs、\example\meta。

examples.fileextensions

examples.fileextensions 变量用于指定 QDoc 在收集示例文件以便在文档中显示时要查找的文件扩展名。

默认扩展名为 *.cpp、*.h、*.js、*.xq、*.svg、*.xml 和 *.ui。

扩展名以标准通配符表达方式给出。您可以使用 "+="将文件扩展名添加到过滤器中。例如

examples.fileextensions += *.qrc

另请参阅headers.file-extensions

examples.warnaboutmissingimages

在处理示例文档时,如果示例不包含任何图片,QDoc 可能会发出警告。可以通过在项目的 .qdocconf 文件中设置以下配置变量来禁用此警告:

examples.warnaboutmissingimages = false

该配置变量在 Qt 6.9 中引入 QDoc。

另请参阅examples.warnaboutmissingprojectfiles

examples.warnaboutmissingprojectfiles

在处理示例文档时,如果示例不包含项目文件,QDoc 可能会发出警告。可以通过在项目的 .qdocconf 文件中设置以下配置变量来禁用此警告:

examples.warnaboutmissingprojectfiles = false

该配置变量在 Qt 6.9 中引入 QDoc。

另请参阅examples.warnaboutmissingimages

excludedirs

excludedirs 变量用于列出 QDoc不应处理的目录,即使sourcedirsheaderdirs变量包含了相同的目录。

例如

sourcedirs =  src/corelib
excludedirs = src/corelib/tmp

执行时,QDoc 将不再考虑列出的目录。QDoc 将不会读取这些目录中的文件。

另请参阅excludefiles

排除文件

excludefiles 变量允许您指定 QDoc不应处理的单个文件。

excludefiles += $QT_CORE_SOURCES/../../src/widgets/kernel/qwidget.h \
                $QT_CORE_SOURCES/../../src/widgets/kernel/qwidget.cpp

如果在 qtbase 的 qdocconf 文件中包含上述内容,则不会为QWidget 生成类文档。

自 Qt 5.6 起,excludefiles 也能识别简单的通配符('*'和'?例如,若要排除所有私有 Qt 头文件的解析,请定义如下内容:

excludefiles += "*_p.h"

另请参阅excludedirs

额外图像

extraimages 变量用于告诉 QDoc 在生成的文档中加入特定图像。

QDoc 会自动将图像文件从imagedirs复制到输出目录,如果该文件被 \image\inlineimage命令引用的图像文件,QDoc 会自动将该图像文件从 imagedirs 复制到输出目录。如果要复制其他图像,必须使用extraimages 变量来指定。

一般语法为 format.extraimages = image.

有关具体示例,请参阅HTML.postheader变量的说明。

示例

HTML.extraimages = images/qt-logo.png

另请参阅图像imagedirs

谬误

falsehoods 变量将指定预处理器符号的真值定义为 false。

该变量的值是正则表达式(详见QRegularExpression )。如果没有为预处理符号设置该变量,QDoc 将假定其真值为真。0 "是个例外,它总是假的。

QDoc 可以识别并评估以下预处理器语法:

#ifdef NOTYET
 ...
#endif

#if defined (NOTYET)
 ...
#end if

然而,面对未知的语法,如

#if NOTYET
    ...
#endif

这样的未知语法,除非在 falsehoods 变量条目中指定了预处理器符号,否则QDoc 默认会将其评估为 true:

falsehoods = NOTYET

另请参阅定义

生成索引

generateindex 变量包含一个布尔值,用于指定在生成 HTML 文档时是否生成索引文件。

默认情况下,HTML 文档总是生成索引文件,因此该变量通常只在禁用该功能(将值设为false )或启用 WebXML 输出索引生成功能(将值设为true )时使用。

头文件

headerdirs 变量用于指定包含与文档中使用的.cpp 源文件相关的头文件的目录。

headerdirs = $QTDIR/src \
             $QTDIR/extensions/activeqt \
             $QTDIR/extensions/motif \
             $QTDIR/tools/designer/src/lib/extension \
             $QTDIR/tools/designer/src/lib/sdk \
             $QTDIR/tools/designer/src/lib/uilib

执行时,QDoc 将首先读取 headers变量中指定的头文件,以及headerdir 变量中指定的目录(包括所有子目录)中的头文件,构建类及其函数的内部结构。

然后,它将读取在 sources变量中指定的源代码(包括所有子目录)。 sourcedirs变量(包括所有子目录)中指定的源代码,将文档与从头文件中获取的结构合并。

如果同时定义了headersheaderdirs 变量,QDoc 将同时读取这两个变量,先读取 headers然后是headerdirs

在指定的目录中,QDoc 将只读取fileextensions 变量中指定的文件。 headers.fileextensions变量指定的文件。所指定的文件。 headers指定的文件,而不考虑它们的文件扩展名。

另请参阅headersheaders.fileextensions

文件头

headers 变量允许你指定单个头文件,而不是那些位于由 headerdirs变量指定的目录中的文件外,还可以指定单个头文件。

headers = $QTDIR/src/gui/widgets/qlineedit.h \
          $QTDIR/src/gui/widgets/qpushbutton.h

处理headers 变量时,QDoc 的行为与处理 headerdirs变量时的行为相同。有关详细信息,请参阅 headerdirs变量。

另请参阅headerdirs

头文件扩展名

headers.fileextensions 变量指定头文件使用的扩展名。

在处理 headerdirs变量中指定的头文件时,QDoc 将只读取headers.fileextensions 变量中指定文件扩展名的文件。这样,QDoc 就可以避免花费时间读取无关文件。

默认扩展名为 *.ch、*.h、*.h++、*.hh、*.hpp 和 *.hxx。

扩展名以标准通配符表达方式给出。您可以使用 "+="将文件扩展名添加到过滤器中。例如

header.fileextensions += *.H

警告: 上述赋值可能与描述不符。

另请参阅headerdirs

includepaths

includepaths 变量用于向 Clang 解析器传递额外的 include 路径,QDoc 使用该解析器解析 C++ 代码以获取文档注释。

该变量接受一系列路径,前缀为-I (包含路径)、-F (macOS 框架包含路径)或-isystem (系统包含路径)。如果省略前缀,则默认使用-I

与当前 .qdocconf 文件相对的路径会被解析为绝对路径。文件系统中不存在的路径将被忽略。

注意: 对于 Qt 文档项目,构建系统通常会在调用 QDoc 时将所需的包含路径作为命令行参数提供。

另请参阅moduleheader

忽略单词

ignorewords 变量用于指定 QDoc 在解析超链接目标时将忽略的字符串列表。

QDoc 具有自动链接功能,会尝试链接与 C++ 或 QML 实体相似的单词。具体来说,如果字符串长度至少为三个字符,没有空白,并且

  • camelCase单词,即至少包含一个大写字符,且索引大于零,或
  • 包含子串():: ,或
  • 至少包含一个特殊字符@_

ignorewords 中添加限定词会阻止 QDoc 自动链接该词。例如,如果单词OpenGL是一个有效的链接目标(章节、页面外部页面标题),则可以通过以下方法避免每次出现时的超链接

ignorewords += OpenGL

\l进行显式链接对被忽略的单词仍然有效。

ignorewords 变量是在 QDoc 5.14 中引入的。

ignoresince

ignoresince 变量用于为传递给\since命令的版本设置一个截止值。所有定义的版本低于截止值的\since 命令都会被忽略,不会产生输出。

截止值是针对特定项目的。项目名称可以定义为子变量。默认项目名称为Qt。例如

ignoresince      = 5.0
ignoresince.QDoc = 5.0

这些命令将忽略主要版本为 4 或更低且项目为QDoc 或未定义的 \since 命令。

\since 3.2          # Ignored
\since 5.2          # Documented (as 'Qt 5.2')
\since QDoc 4.6     # Ignored
\since QtQuick 2.5  # Documented

ignoresince 变量是在 QDoc 5.15 中引入的。

另请参见 \since

imagedirs

imagedirs 变量用于指定包含文档中使用的图片的目录。

imagesimagedirs 变量被\image\inlineimage命令使用。如果同时定义了 imagesimagedirs 变量都定义了,QDoc 将在这两个目录中搜索。首先在 images中搜索,然后在imagedirs 中搜索。

QDoc 将按指定顺序搜索目录,并接受找到的第一个匹配文件。它只会在指定的目录中搜索,而不会在子目录中搜索。

imagedirs = $QTDIR/doc/src/images \
            $QTDIR/examples

images    = $QTDIR/doc/src/images/calculator-example.png

处理时

\image calculator-example.png

QDoc 会查看images 变量中是否有名为 calculator-example.png 的文件。如果没有,它将在imagedirs 变量中搜索:

$QTDIR/doc/src/images/calculator-example.png

如果该文件不存在,QDoc 将查找名为

$QTDIR/examples/calculator-example.png

语言

language 变量指定文档中使用的源代码语言。具体来说,它定义了用于解析 \code ... \endcode 块中源代码的默认语言。\endcode 块中的源代码时使用的默认语言。

language = Cpp

默认语言是 C++ (Cpp),无需明确指定。如果文档中的代码片段主要由 QML 代码组成,请将 QML 设置为默认语言:

language = QML

另请参阅code-command[(code)]。

位置信息

locationinfo 布尔变量决定是否将每个实体的详细位置信息写入.index-files 和.webxml-files (使用 WebXML 输出格式时)。

位置信息包括源代码中声明或文档注释块的完整路径和行号。

将此项设置为false 将关闭位置信息:

locationinfo = false

默认值为true

locationinfo 变量在 QDoc 5.15 中引入。

macro 变量用于创建您自己的简单 QDoc 命令。语法为 macro.command = definition.命令限于字母和数字字符的组合,但不能使用破折号或下划线等特殊字符。.定义使用 QDoc 语法编写。

宏变量可限制用于一种类型的输出生成。例如,在宏名后附加.HTML ,宏就只能在生成 HTML 输出时使用。

macro.key              = "\\b"
macro.raisedaster.HTML = "<sup>*</sup>"

第一个宏定义了 \key 命令,使用粗体字体显示参数。第二个宏定义了 \raisedaster 命令,用于显示上标星号,但只在生成 HTML 时使用。

一个宏最多可以包含七个参数:

macro.hello            = "Hello \1!"

向宏传递参数的方式与向其他命令传递参数的方式相同:

\hello World

当使用多个参数或参数包含空白时,请用大括号将每个参数括起来:

macro.verinfo          = "\1 (version \2)"
\verinfo {QFooBar} {1.0 beta}

可以添加一个特殊的宏选项match,用于对扩展宏进行额外的正则表达式模式匹配。

例如

macro.qtminorversion       = "$QT_VER"
macro.qtminorversion.match = "\\d+\\.(\\d+)"

会创建一个宏 \qtminorversion,根据 QT_VER 环境变量扩展为次要版本。

定义了匹配模式的宏会输出连接在一起的所有捕获组(括号),如果模式不包含任何捕获组,则输出准确的匹配字符串。

有关预定义宏的更多信息,请参阅

清单

manifestmeta 变量用于指定 QDoc 生成的示例清单文件的附加元内容。

更多信息,请参阅清单元内容部分。

模块头

moduleheader 变量定义文档化 C++ 模块的模块头名称。

记录 C++ 应用程序接口的项目需要一个模块级头文件,其中包括模块的所有公有类、命名空间和头文件。QDoc 中的 Clang 解析器会使用该文件为模块创建预编译头文件(PCH),以提高解析源文件的速度。

默认情况下,项目名称也被用作模块头文件的名称。

project = QtCore

使用上述项目名称,QDoc 会在所有已知包含路径中搜索模块头QtCore;首先使用作为命令行参数传递的路径,然后使用includepaths变量中列出的路径。

如果找不到模块头,QDoc 会发出警告。然后,它将尝试根据headerdirs变量中列出的头文件创建一个人工模块头文件。

对于 Qt 文档项目,只要project 变量设置正确,联编系统通常会为 QDoc 提供正确的包含路径,以定位模块头文件。moduleheader 变量提供了供 QDoc 搜索的替代文件名。

如果项目不包含 C++ 文档,则应通过将moduleheader 设置为空字符串来指示 QDoc 跳过生成 PCH:

# No C++ code to document in this project
moduleheader =

另请参阅includepathsproject

自然语言

naturallanguage 变量用于指定 QDoc 生成的文档所使用的自然语言。

naturallanguage = zh-Hans

默认情况下,自然语言是en ,以便与传统文档兼容。

QDoc 会使用langxml:lang 属性将自然语言信息添加到生成的 HTML 中。

另请参阅源编码输出编码C.7。lang 和 xml:lang 属性以及最佳实践 13:使用 Hans 和 Hant 编码

navigation 子变量(如果已定义)可设置主页、登陆页、C++ 类页面和 QML 类型页面,这些页面在每个页面生成的导航栏中可见。

在有多个子项目(如 Qt 模块)的项目中,每个子项目通常都会定义自己的登陆页面,而所有子项目都使用相同的主页。

子变量

navigation.homepage项目主页。
navigation.hometitle(可选)用户可见的主页标题。默认值取自homepage
navigation.landingpage子项目登陆页面。
navigation.landingtitle(可选)用户可见的着陆页标题。默认值取自landingpage
navigation.cppclassespage列出该(子)项目所有 C++ 类的顶级页面。通常是模块页面的标题。
navigation.cppclassestitle(可选)用户可见的 C++ 类页面标题。默认为 "C++ 类"。
navigation.qmltypespage列出该(子)项目所有 QML 类型的顶层页面。通常是\qmlmodule页面的标题。
navigation.qmltypestitle(可选)QML 类型页面的用户可见标题。默认为 "QML 类型"。
navigation.toctitles (自 QDoc 6.0 起)包含作为目录(TOC)的列表结构的页面标题。QDoc 会为 TOC 中列出的页面生成导航链接,而无需使用 (nextpage)和 (previouspage)命令,以及在 HTML 输出的导航栏(breadcrumbs)中可见的导航层次结构。
navigation.toctitles.inclusive (自 QDoc 6.3 起)如果设置为true ,在navigation.toctitles 中列出的页面也将作为根项出现在导航栏中。
navigation.trademarkspage (自 QDoc 6.8 起)记录文档中提到的商标的页面标题。另请参阅 \tm命令。

例如

# Common configuration
navigation.homepage  = index.html
navigation.hometitle = "Qt $QT_VER"

# qtquick.qdocconf
navigation.landingpage    = "Qt Quick"
navigation.cppclassespage = "Qt Quick C++ Classes"
navigation.qmltypespage   = "Qt Quick QML Types"

上述配置可生成Item QML 类型的导航栏:

Qt 5.10 > Qt Quick > QML Types > Item QML Type

输出目录

outputdir 变量指定 QDoc 将生成的文档放在哪个目录下。

outputdir = $QTDIR/doc/html

将生成的 Qt 参考文档放在 $QTDIR/doc/html。例如,QWidget 类的文档位于

$QTDIR/doc/html/qwidget.html

相关图片将放在images 子目录中。

警告: 使用同一输出目录多次运行 QDoc 时,上次运行的所有文件都将丢失。

输出编码

outputencoding 变量用于指定 QDoc 生成的文档所使用的编码。

outputencoding = UTF-8

默认情况下,输出编码为ISO-8859-1 (Latin1),以便与传统文档兼容。在为某些语言(尤其是非欧洲语言)生成文档时,这种编码是不够的,需要使用 UTF-8 等编码。

QDoc 将使用这种编码对 HTML 进行编码,并生成正确的声明,以向浏览器说明使用的是哪种编码。还应该指定naturallanguage配置变量,以便为浏览器提供一套完整的字符编码和语言信息。

另请参阅outputencodingnaturallanguage

输出格式

outputformats 变量用于指定生成文档的格式。

自 Qt 5.11 起,QDoc 支持 HTML 和 WebXML 格式;自 Qt 5.15 起,它还能以 DocBook 格式生成文档。如果没有指定outputformats ,QDoc 将以 HTML(默认格式)生成文档。所有输出格式都可以指定,并有专门的输出目录和其他设置。例如

outputformats = WebXML HTML
WebXML.nosubdirs = true
WebXML.outputsubdir = webxml
WebXML.quotinginformation = true

使用默认设置生成 HTML 文档,以及输出子目录webxml 中的 WebXML 文档。

输出前缀

outputprefixes 变量用于指定文件类型与输出文件名前缀之间的映射。

QDoc 支持为 QML 类型、C++ 类、命名空间和头文件引用页的文件名添加输出前缀。

outputprefixes     = QML CPP
outputprefixes.QML = uicomponents-
outputprefixes.CPP = components-

默认情况下,包含 QML 类型的 API 文档的文件以qml- 为前缀。在上例中,使用了uicomponents- 作为前缀。

同样,在上例中,C++ 类型文档页面的前缀是components- 。默认情况下,C++ 类型页面没有前缀。

输出前缀

outputsuffixes 变量用于指定文件类型与模块或类型名称后缀之间的映射,这些后缀会出现在输出文件名中。

QDoc 支持为模块页面、QML 类型、C++ 类、命名空间和头文件引用页面的文件名添加输出后缀。

默认情况下,不使用后缀。如果定义了 QML 输出后缀,它将作为模块名的后缀,出现在 QML 类型和 QML 模块页面的文件名中。

C++ 类型的文件名不包括模块名。如果定义了 CPP 输出后缀,它将作为后缀应用于类型名称。

outputsuffixes = QML CPP
{outputsuffixes.QML,outputsuffixes.CPP} = -tp

根据上述定义,给定 QML 模块名FooBar和默认输出前缀(qml-),为 QML 类型FooWidget生成的文件名是qml-foobar-tp-foowidget.html

同样,对于 C++ 类QFoobar,QDoc 会生成qfoobar-tp.html

outputsuffixes 变量是在 QDoc 5.6 中引入的。

qhp

qhp 子变量用于定义要写入Qt Help Project (qhp) 文件的信息。

有关此过程的信息,请参阅创建帮助项目文件一章。

自 QDoc 6.6 起,将基础qhp 变量设置为true 意味着预期会有一个有效的帮助项目配置:

qhp = true

如果项目配置没有定义qhp.projects ,QDoc 会发出警告。这有助于确保所有共享顶层.qdocconf文件的文档项目(如 Qt)都配置正确。

要关闭警告,可将变量设置为false

源irs

sourcedirs 变量指定包含文档中使用的.cpp.qdoc 文件的目录。

sourcedirs  += .. \
               ../../../examples/gui/doc/src

执行时,QDoc 将首先读取 header变量中指定的头文件,以及headerdir 变量中指定的目录(包括所有子目录)中的头文件,建立类及其函数的内部结构。

然后,它将读取在 sources变量中指定的目录(包括所有子目录)中的源代码。 sourcedirs变量(包括所有子目录)中指定的源代码,将文档与从头文件中获取的结构合并。

如果同时定义了sourcessourcedirs 变量,QDoc 将同时读取这两个变量,先读取 sources然后是sourcedirs

在指定的目录中,QDoc 将只读取fileextensions 变量中指定的文件。 sources.fileextensions变量指定的文件。变量指定的文件 sources指定的文件将被读取,与其文件扩展名无关。

另请参阅sourcessources.fileextensions

源编码

sourceencoding 变量用于指定源代码和文档使用的编码。

sourceencoding = UTF-8

默认情况下,源代码编码为ISO-8859-1 (Latin1),以便与传统文档兼容。对于某些语言,特别是非欧洲语言,这种编码是不够的,需要使用 UTF-8 等编码。

虽然 QDoc 会使用编码来读取源代码和文档文件,但 C++ 编译器的限制可能会阻止您在源代码注释中使用非 ASCII 字符。在这种情况下,可以完全在文档文件中编写 API 文档。

另请参阅naturallanguageoutputencoding

源代码

使用sources 变量,除了可以指定sourcedirs变量指定的目录中的源文件外,还可以指定单个源文件。

sources = $QTDIR/src/gui/widgets/qlineedit.cpp \
          $QTDIR/src/gui/widgets/qpushbutton.cpp

处理sources 变量时,QDoc 的行为与处理sourcedirs变量时的行为相同。更多信息,请参阅sourcedirs变量。

另请参阅sourcedirs

sources.fileextensions

sources.fileextensions 变量用于过滤源代码目录中的文件。

在处理 sourcedirs变量中指定的源文件时,QDoc 将只读取sources.fileextensions 变量中指定的文件扩展名的文件。这样,QDoc 就可以避免花时间读取无关文件。

默认扩展名为 *.c++、*.cc、*.ppp、*.cxx、*.mm、*.qml 和 *.qdoc。

扩展名以标准通配符表达方式给出。您可以使用 "+="将文件扩展名添加到过滤器中。例如

sources.fileextensions += *.CC

警告: 上述赋值可能与描述不符。

另请参阅源代码来源

虚假

spurious 变量从输出中排除指定的 QDoc 警告。警告使用标准通配符表达式指定。

spurious = "Cannot find .*" \
"Missing .*"

确保在运行 QDoc 时,与这些表达式中任何一个匹配的警告都不会成为输出的一部分。例如,输出中将省略以下警告:

src/opengl/qgl_mac.cpp:156: Missing parameter name

语法高亮

syntaxhighlighting 变量用于指定 QDoc 是否要对其生成的文档中引用的源代码执行语法高亮显示。

syntaxhighlighting = true

将启用所有支持的编程语言的语法高亮显示。

制表符大小

tabsize 变量定义制表符的大小。

tabsize = 4

将使制表符的大小为 4 个空格。该变量的默认值为 8,无需指定。

标签文件

tagfile 变量用于指定生成 HTML 时要写入的 Doxygen 标记文件。

版本

version 变量指定文档软件的版本号。

version = 5.6.0

指定版本号时(使用 versionversionsym.qdocconf 变量),就可以通过相应的 \version 命令访问该版本号,以便在文档中使用。

警告: \version 命令的功能尚未完全实现;目前它只能在原始 HTML 代码中使用。

另请参阅versionsym

版本

versionsym 变量指定一个 C++ 预处理器符号,用于定义文档软件的版本号。

versionsym = QT_VERSION_STR

QT_VERSION_STR 在 qglobal.h 中的定义如下

#define QT_VERSION_STR   "5.14.1"

当指定版本号时(使用 versionversionsym.qdocconf 变量),就可以通过相应的 \version 命令访问版本号,以便在文档中使用。

警告 \version 命令的功能尚未完全实现。目前,它只能在原始 HTML 代码中使用。

另请参见\version.

警告限制

warninglimit 变量设置了允许的最大文档警告数。如果超过该限制,QDoc 将继续正常运行,但退出时会将警告次数作为错误代码。如果未超过限制或未定义warninglimit ,QDoc 进程将以 0 退出,假定没有其他严重错误。

warninglimit 设置为0 意味着任何警告都会失败。

注意: 默认情况下,QDoc 不执行警告限制。请使用warninglimit.enabled = true 或定义QDOC_ENABLE_WARNINGLIMIT 环境变量来启用它。

例如

# Fail the documentation build if we have more than 100 warnings
warninglimit = 100
warninglimit.enabled = true

warninglimit 变量在 Qt 5.11 中引入。

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