Doxygen关联Qt文档时如何排除Qt基类继承的无关成员
Doxygen 配置Qt文档跳转同时隐藏基类继承成员方案
按以下步骤调整Doxyfile配置即可实现需求:
- 将
INLINE_INHERITED_MEMB设置为NO,阻止Qt基类的公有成员直接嵌入自定义类的主成员列表。 - 将
SHOW_INHERITED_MEMB设置为NO,关闭类文档页面底部单独展示的“额外继承成员”板块,这是解决冗余继承成员显示的核心参数。 - 在
EXCLUDE_SYMBOLS参数中添加Qt相关符号过滤规则,避免开启EXTRACT_ALL = YES时Doxygen提取外部Qt类型的冗余信息,参考配置:
EXCLUDE_SYMBOLS = Q_* \ Qt* \ Ui::*
该规则会过滤所有Qt宏、Qt前缀的框架类型、Ui命名空间下自动生成的UI类符号,不会在自有类文档中生成这类外部符号的相关条目。
- 现有
TAGFILES配置无需修改,该配置仅负责为代码中出现的Qt类型提供官方文档跳转能力,不会主动将Qt基类成员导入自有类文档,之前的冗余显示问题与该配置无关。 - 可选优化:将
SKIP_FUNCTION_MACROS设置为YES,自动过滤Q_OBJECT这类Qt功能宏,避免文档出现无意义的宏展开条目。
调整后关键配置参考:
INLINE_INHERITED_MEMB = NO SHOW_INHERITED_MEMB = NO EXTRACT_ALL = YES EXTRACT_PRIVATE = YES EXCLUDE_SYMBOLS = Q_* \ Qt* \ Ui::* SKIP_FUNCTION_MACROS = YES # 其余原有INPUT、QHP生成、TAGFILES、DOT图相关配置保持不变即可
重新运行Doxygen生成文档后,自有类页面将仅展示自行定义的方法与成员,所有Qt基类继承的无关成员会被完全隐藏,同时QString、QMainWindow等Qt类型的官方文档跳转功能不受影响。
内容的提问来源于stack exchange,提问作者Mathieu Gauquelin
相关产品推荐
相关产品推荐

