【发布时间】:2014-04-10 06:53:01
【问题描述】:
我有一个广泛使用 Qt 的项目。文档是用 doxygen 生成的。是否可以配置 doxygen 来生成在线 qt 文档的链接。
例如,
/**
* Implements QAbstractListModel.
*/
这样的评论将在输出中包含指向 QAbstractListModel 的 Qt 在线文档的 Internet 链接。
【问题讨论】:
标签: qt documentation doxygen
我有一个广泛使用 Qt 的项目。文档是用 doxygen 生成的。是否可以配置 doxygen 来生成在线 qt 文档的链接。
例如,
/**
* Implements QAbstractListModel.
*/
这样的评论将在输出中包含指向 QAbstractListModel 的 Qt 在线文档的 Internet 链接。
【问题讨论】:
标签: qt documentation doxygen
您可以在 Doxyfile 上使用TAGFILES 选项,然后您可以将在线链接设置为 TAGFILE。见:
TAGFILES = qtcore.tags=http://qt-project.org/doc/qt-4.8/ \
qtgui.tags=http://qt-project.org/doc/qt-4.8/ \
qtwidgets.tags=http://qt-project.org/doc/qt-4.8/ \
qtxml.tags=http://qt-project.org/doc/qt-4.8/ \
qtnetwork.tags=http://qt-project.org/doc/qt-4.8/
更多信息在这里:Linking to external documentation
我在网上找过这个问题,实际上我找不到答案。我刚试过,对我来说效果很好!!!
【讨论】:
是否可以配置 doxygen 生成在线 qt 文档的链接。
这对 KDE API 文档也很重要,但是没有,或者至少不是一种简单的方法。
但是,正如您在 KDE API page 上看到的(例如,用于 QWidget 的 KMessageBox 和 grep),您可以至少对方法签名等应用一些技巧,以获取 Qt 文档的链接。也许,您可以尝试在没有 doxygen 的情况下将相同的技巧应用于文档。
一般来说,您希望拥有的不仅仅是 doxygen 文档,因此我认为您需要分别采用更通用的方法。
【讨论】:
我写了一个 utility 来从 Qt docs 安装文件夹中的选定模块中复制 .tags 文件,并将它们放在 Doxygen 配置的本地位置。它可以选择将输入文件连接到一个大的.tags 文件中,因此如果链接到在线帮助(相对于生成 .qhp),Doxygen 配置会变得更加简单。
如果我有:
project/
doc/
Doxyfile
html/
tagfiles/
qt.tags
src/
单个文件可以这样使用:
TAGFILES = tagfiles/qt.tags=https://doc.qt.io/qt-5/
或者对于 QHP:
TAGFILES = \
tagfiles/qtcore.tags=qthelp://org.qt-project.qtcore/qtcore/ \
tagfiles/qtgui.tags=qthelp://org.qt-project.qtgui/qtgui/ \
tagfiles/qtwidgets.tags=qthelp://org.qt-project.qtwidgets/qtwidgets/
Here's an example 从该仓库生成的文档。所有到 Qt 文档的链接都是自动的,包括可扩展树中所有继承的内容。
添加大的 Qt 标签会明显减慢 Doxygen 的运行速度,因此我肯定会将导入的标签限制为仅需要链接到的 Qt 模块。
更新:Qt 为枚举值生成标签时存在一个错误(QTBUG-61790)(在Qt 5.15.0 中修复),这会阻止Doxygen 生成指向它们的正确链接。我添加了一个修复标记文件的separate utility,还更新了我在顶部链接到的复制实用程序以实现枚举修复。
【讨论】: