自动生成Qt应用程序类图的工具

9

我在为我的Qt应用程序创建UML类图的工具方面遇到了问题。

我尝试使用BOUMLUmbrello,但它们都无法处理某些类。

我正在Ubuntu上工作。


你可以检查一下是否有适用于Ubuntu的Rational Rose版本。 - Vivek Sadh
2个回答

9

Doxygen可以生成各种图表(继承、协作、甚至调用流程),我认为你应该试试。

我过去曾经使用过它,即使没有按照要求注释代码,它也能够生成非常漂亮(尽管有些复杂)的图表。

引用自在线文档的特性部分:

  • 使用Graphviz工具包中的dot工具生成包含依赖关系图、协作图、调用图、目录结构图和图形化类层次结构图。

  • 自动检测公共、保护和私有部分,以及Qt特定的信号和槽部分。提取私有类成员是可选的。

虽然现在doxygen可以用于任何一种被doxygen支持的语言编写的项目,但最初它是专门设计用于使用Qt软件的Qt工具包的项目。我试图使doxygen“与Qt兼容”。也就是说:Doxygen可以读取包含在Qt源代码中的文档,并创建一个看起来非常类似于由Qt Software生成的类浏览器。Doxygen理解Qt使用的C++扩展,如信号和槽以及Qt源中使用的许多标记命令。


FYI,Doxygen 中使用类图的一个很好的例子是 QWT 文档,例如在 QwtPlotHistogram 的文档中。我认为,在这种特定情况下使用的所有配置都可以在其 svn 存储库的 docs 目录 中找到。 - NIA
要获得UML风格的图表,您需要更改一些默认设置。这个关于Doxygen和UML图表的问题的答案应该会有所帮助。链接 - jwernerny

1
Sparx Systems的Enterprise Architect可以导入C++代码。该软件的图表非常好,支持双向编辑(编辑图表和生成代码)。有趣的是它如何处理moc_*.cpp文件,但您可能需要从模型中删除这些文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接