gpt4 book ai didi

qt - 使用 Doxygen 记录 Qt 项目

转载 作者:行者123 更新时间:2023-12-04 19:51:33 26 4
gpt4 key购买 nike

我正在尝试使用 Doxygen 记录我的基于 Qt 的项目。这看起来是个好方法。我能够生成一切正常。我对为对象绘制的使用关系图特别感兴趣。这些显示了对象引用其他对象的位置。

这在我有一个指向另一个对象的简单指针的情况下再次正常工作,例如:

OtherClass *myOtherObject;

但是如果我使用 Qt,比如:

QPointer <OtherClass> myOtherObject;

或者

QList <OtherClass*> myOtherObjects;

那么这些就不会出现在图中。

是否可以配置Doxygen来理解这些也是使用关系?

最佳答案

我已经通过使用输入过滤器找到了解决您的问题的部分方法。启用过滤器后,图表是正确的,但文本不正确。下面是示例屏幕截图。

过滤器

过滤器是用 Python 编写的,因此应该可以在任何平台上运行。

将其与您的 Doxyfile 一起保存在一个文件中(例如 qt-filter.py)。

import re, sys

PATTERNS = [
(re.compile(r"QPointer *<(.*)>"), r"\1*"),
(re.compile(r"QList *<(.*)>"), r"\1")
]

with open(sys.argv[1], "r") as infile:
for line in infile:
prev = None
while line != prev:
prev = line
for regex, repl in PATTERNS:
line = regex.sub(repl, line)
sys.stdout.write(line)

配置

在您的 Doxyfile 中编辑 FILTER_PATTERNS 行以包含:

FILTER_PATTERNS = *.hpp=qt-filter.py

过滤前

Screenshot of before applying filter

过滤后

Screenshot of after applying filter

关于qt - 使用 Doxygen 记录 Qt 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19052880/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com