包括内联代码

以下命令用于呈现无格式化的源代码。源代码从新的一行开始,在代码中呈现。

注意: 虽然这些命令大多用于渲染 C++ 代码,但\snippet\codeline命令比其他命令更受欢迎。这些命令允许用其他 Qt 语言绑定的等效代码片段代替文档中的 C++ 代码片段。

\代码

\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 版以来的一个例外,当在特定于 QML 的主题中使用 \code 命令时,QDoc 会首先尝试将代码识别为 QML;而对于其他主题,则以语言配置变量为准。要将代码片段明确标记为 QML,请使用\qml命令。

代码片段参数

自 QDoc 5.12 版起,\code 命令也接受可选参数。参数对于将简单字符串注入代码片段非常有用。要将字符串注入代码片段中的特定位置,请在反斜杠后添加一个数字(1...8)。数字与参数列表的顺序相对应,参数之间用空格隔开。

例如

/*!
    \code * hello
    /\1 \2 \1/
    \endcode
*/

在上面的代码段中,QDoc 将单词hello用 C 风格注释括起来。

包含来自外部文件的代码

要包含外部文件中的代码片段,请使用\snippet\codeline命令。

另请参阅 \c、\qml、\badcode、\quotefromfilelanguage

\错误代码

code)类似,(badcode)和(endcode)命令也会在单独的段落中包含逐字呈现的内容,但不会进行解析或自动创建链接。相反,这些内容被视为纯文本。

当记录命令行指令、shell 脚本或任何其他非 Qt 语言的内容时,用该命令代替 \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 也接受可选参数。

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