QtSrc2UML
Basically it is answer to StackOverflow question.
This repository contains:
Doxyfile
to generate UML class diagram with all documentation, and- Result of
doxygen
work:
Prepare docs
Since Qt has well documented source code and this code is qDoc-powered (which is compatible with doxygen). You may generate required diagrams by yourself.
(I’m not sure how much time will it take you, but probably get some popcorn beforehand)
I’ll show you example how to prepare diagrams for QtConcurrent
module only (doxygen work took me ~8s on i7-6820HQ).
- Install doxygen. Typically:
sudo apt install doxygen
- Get and unpack Qt sources (http://download.qt.io/official_releases/qt/5.12/5.12.3/single/).
- Use console and navigate to
qt-everywhere-src-5.12.3/qtbase/src/
. - Generate standard
Doxygen
file by command:doxygen -g
- Edit
qt-everywhere-src-5.12.3/qtbase/src/Doxygen
. Append next lines (or make sure that everywhere inDoxyfile
any assignments of these variables are commented):
EXTRACT_ALL = YES
CLASS_DIAGRAMS = YES
HIDE_UNDOC_RELATIONS = NO
HAVE_DOT = YES
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
UML_LOOK = YES
UML_LIMIT_NUM_FIELDS = 50
TEMPLATE_RELATIONS = YES
DOT_GRAPH_MAX_NODES = 100
MAX_DOT_GRAPH_DEPTH = 0
DOT_TRANSPARENT = YES
According to this answer.
Find INPUT
section and put:
INPUT = concurrent
Find GENERATE_LATEX
section and change to :
GENERATE_LATEX = NO
NOTE: If you are familiar with doxygen
, edit Doxyfile
as you wish – there are plenty of possible settings like logo, additional texts, file patterns, excludes etc.
- To generate doxygen documentation just run
doxygen
.
As a result you’ll get folder qt-everywhere-src-5.12.3/qtbase/src/html
with generated documentation. Open index.html
.
To see the result click here.