包含内联代码
以下命令用于呈现无格式化的源代码。源代码从新的一行开始,在代码中呈现。
注意: 虽然这些命令大多用于渲染 C++ 代码,但其中的 \snippet和 \codeline命令比其他命令更受欢迎。这些命令允许用其他 Qt 语言绑定的等效代码片段代替文档中的 C++ 代码片段。
\code
\code 和\endcode 命令包含源代码片段。
注意: 该 \c命令可用于句子中的简短代码片段。\code 命令用于较长的代码片段。它将代码逐字渲染为一个单独的段落,置于 html <pre> 元素中,并解析所包含的代码段,创建代码中任何已知类型的链接。
如果要记录命令行指令、shell 脚本或任何 QDoc 无法识别的 Qt 语言内容,请使用 \badcode来代替。
在处理\code 命令时,QDoc 会删除/*! ...*/ 注释中逐字代码块的所有缩进,然后再添加标准缩进。
注意: 这不适用于使用 \quotefromfile或 \quotefile命令的外部引用代码。
/*!
\code
#include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[])
{
...
}
\endcode
*/其他 QDoc 命令在\code... 中被禁用。\endcode,特殊字符"\"会被接受,并像其他代码一样渲染,除非它后面跟了一个数字,而且参数被传到了\code 。
突出显示和自动链接
\code 命令会尝试将其内容解析为语言配置变量中定义的特定语言代码。这样可以突出显示代码中检测到的类型并自动链接。
自 QDoc 6.4 版起,作为一个例外,当\code 命令在 QML 特定主题中使用时,QDoc 会首先尝试将代码识别为 QML;对于其他主题,语言配置变量优先。要将代码片段明确标记为 QML,请使用 \qml命令来代替。
从 6.11 版开始,语言可以作为可选的不区分大小写参数,与\code 命令在同一行中指定。指定后,语言将覆盖默认语言和上述任何其他特定语言的行为。QDoc 还定义了text 语言,因此代码块可以在没有任何标记或高亮的情况下显示。
例如
\code [text]
# This is an example of unmarked code.
implement MyModule;
include "sys.m";
sys: Sys;
\endcode这在引用 QDoc 无法标记的语言时非常有用。
另外,您也可以为 QDoc 无法识别的代码块指定一种语言,方法是在codelanguages配置变量的列表中包含该语言。这样就能在生成的 HTML 中包含元数据,其他工具可使用这些元数据来高亮显示代码的语法。
代码片段参数
自 QDoc 5.12 版起,\code 命令也接受可选参数。参数对于将简单字符串注入代码片段非常有用。要将字符串注入代码片段的特定位置,可在反斜杠后添加一个数字(1...8)。这些数字与参数列表的顺序相对应,参数之间用空格隔开,并紧跟在任何可选语言参数之后。
例如
/*!
\code * hello
/\1 \2 \1/
\endcode
*/在上面的代码段中,QDoc 将单词hello用 C 风格注释括起来。
包含来自外部文件的代码
要包含外部文件中的代码片段,请使用 \snippet和 \codeline命令。
另请参见 \c, \qml, \badcode, \quotefromfile和语言。
\badcode
类似于 \code、\badcode 和\endcode 命令将内容逐字渲染到单独的段落中,但不进行解析或自动创建链接。相反,这些内容被视为纯文本。
在记录命令行指令、shell 脚本或任何其他非 Qt XML 语言的内容时,用该命令代替\code ,但仍应采用与\code 段落类似的样式。
与\code 一样,\badcode 也接受可选参数。
\qml
\qml 和\endqml 命令包含 QML 源代码片段。使用这些命令可正确高亮显示 QML 代码片段的语法。所包含的代码段必须完整,如同一个有效的 .qml 文件。如果代码段不完整,QDoc 会发出警告并忽略该代码段。
/*!
\qml
import QtQuick 2.0
Row {
Rectangle {
width: 100; height: 100
color: "blue"
transform: Translate { y: 20 }
}
Rectangle {
width: 100; height: 100
color: "red"
transform: Translate { y: -20 }
}
}
\endqml
*/与 \code命令一样,\qml 也接受可选参数。
© 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.