通用配置变量
使用 QDoc 通用配置变量,您可以定义 QDoc 在何处找到生成文档所需的各种源文件,以及生成文档的存放目录。您还可以对 QDoc 本身进行一些小操作,控制其输出和处理行为。
代码缩进
codeindent
变量用于指定 QDoc 在编写代码片段时使用的缩进级别。
QDoc 最初使用的代码缩进硬编码值是 4 个空格,以确保代码片段可以很容易地与周围的文本区分开来。由于我们可以使用样式表来调整某些类型的 HTML 元素的外观,因此并不总是需要这种缩进级别。
代码前缀, 代码后缀
codeprefix
和codesuffix
变量指定了每个代码片段所包含的一对字符串。
定义
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.index
至qtdoc
。如果未找到依赖项的索引文件,QDoc 将输出警告。
depends
命令还接受一个特殊值 "*"。这将指示 QDoc 加载在指定索引目录中找到的所有索引文件;也就是说,"依赖于一切"。
depends = *
文档头文件(技术预览)
注: 此配置标志可启用 QDoc 中的技术预览功能。
设置documentationinheaders = true
可指示 QDoc 在为基于 C++ 的项目生成文档时也解析头文件中的文档注释。
警告: 在大型代码库中,这可能会影响 QDoc 的处理时间。因此,除非您需要,否则不应设置此标记。
示例
exampledirs
变量指定了包含示例文件源代码的目录。
examples和exampledirs变量被 \quotefromfile、\quotefile和\example命令使用。如果同时定义了examples和exampledirs变量,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
变量指定的目录中的文件外,还可以指定单个示例文件。
examples
和 exampledirs
变量被 \quotefromfile、\quotefile和\example命令使用。如果同时定义了examples
和 exampledirs
变量都定义了,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
这个路径就会记录在这个例子的清单文件中。
另请参见:exampledirs、\example 和\meta。
examples.fileextensions
examples.fileextensions
变量用于指定 QDoc 在收集示例文件以便在文档中显示时要查找的文件扩展名。
默认扩展名为 *.cpp、*.h、*.js、*.xq、*.svg、*.xml 和 *.ui。
扩展名以标准通配符表达方式给出。您可以使用 "+="将文件扩展名添加到过滤器中。例如
examples.fileextensions += *.qrc
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不应处理的目录,即使sourcedirs或headerdirs变量包含了相同的目录。
例如
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
谬误
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
变量(包括所有子目录)中指定的源代码,将文档与从头文件中获取的结构合并。
如果同时定义了headers
和headerdirs
变量,QDoc 将同时读取这两个变量,先读取 headers
然后是headerdirs
。
在指定的目录中,QDoc 将只读取fileextensions
变量中指定的文件。 headers.fileextensions
变量指定的文件。所指定的文件。 headers
指定的文件,而不考虑它们的文件扩展名。
另请参阅headers和headers.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
变量用于指定包含文档中使用的图片的目录。
和 images
和imagedirs
变量被\image和\inlineimage命令使用。如果同时定义了 images
和imagedirs
变量都定义了,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 =
另请参阅includepaths和project。
自然语言
naturallanguage
变量用于指定 QDoc 生成的文档所使用的自然语言。
naturallanguage = zh-Hans
默认情况下,自然语言是en
,以便与传统文档兼容。
QDoc 会使用lang
和xml: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配置变量,以便为浏览器提供一套完整的字符编码和语言信息。
另请参阅outputencoding和naturallanguage。
输出格式
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
变量(包括所有子目录)中指定的源代码,将文档与从头文件中获取的结构合并。
如果同时定义了sources
和sourcedirs
变量,QDoc 将同时读取这两个变量,先读取 sources
然后是sourcedirs
。
在指定的目录中,QDoc 将只读取fileextensions
变量中指定的文件。 sources.fileextensions
变量指定的文件。变量指定的文件 sources
指定的文件将被读取,与其文件扩展名无关。
另请参阅sources和sources.fileextensions。
源编码
sourceencoding
变量用于指定源代码和文档使用的编码。
sourceencoding = UTF-8
默认情况下,源代码编码为ISO-8859-1
(Latin1),以便与传统文档兼容。对于某些语言,特别是非欧洲语言,这种编码是不够的,需要使用 UTF-8 等编码。
虽然 QDoc 会使用编码来读取源代码和文档文件,但 C++ 编译器的限制可能会阻止您在源代码注释中使用非 ASCII 字符。在这种情况下,可以完全在文档文件中编写 API 文档。
另请参阅naturallanguage和outputencoding。
源代码
使用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
指定版本号时(使用 version
或 versionsym
.qdocconf
变量),就可以通过相应的 \version 命令访问该版本号,以便在文档中使用。
警告: \version 命令的功能尚未完全实现;目前它只能在原始 HTML 代码中使用。
另请参阅versionsym。
版本
versionsym
变量指定一个 C++ 预处理器符号,用于定义文档软件的版本号。
versionsym = QT_VERSION_STR
QT_VERSION_STR 在 qglobal.h 中的定义如下
#define QT_VERSION_STR "5.14.1"
当指定版本号时(使用 version
或 versionsym
.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.