Qtgui.qdocconf with notes

This document goes through a typical Qt 5 qdocconf file. The contents is taken from Qt GUI's qtgui.qdocconf file.

Below you will find the full contents of qtgui.qdocconf. The subsequent section will discuss every statement in the qdocconf file.

 include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)

 project                 = QtGui
 description             = Qt GUI Reference Documentation
 url                     = http://doc.qt.io/qt-5
 version                 = $QT_VERSION

 examplesinstallpath     = gui

 qhp.projects            = QtGui

 qhp.QtGui.file         = qtgui.qhp
 qhp.QtGui.namespace           = org.qt-project.qtgui.$QT_VERSION_TAG
 qhp.QtGui.virtualFolder       = qtgui
 qhp.QtGui.indexTitle          = Qt GUI
 qhp.QtGui.indexRoot           =

 qhp.QtGui.filterAttributes    = qtgui $QT_VERSION qtrefdoc
 qhp.QtGui.customFilters.Qt.name = Qtgui $QT_VERSION
 qhp.QtGui.customFilters.Qt.filterAttributes = qtgui $QT_VERSION

 qhp.QtGui.subprojects         = classes
 qhp.QtGui.subprojects.classes.title = C++ Classes
 qhp.QtGui.subprojects.classes.indexTitle = Qt GUI C++ Classes
 qhp.QtGui.subprojects.classes.selectors = class fake:headerfile
 qhp.QtGui.subprojects.classes.sortPages = true

 tagfile                 = ../../../doc/qtgui/qtgui.tags

 depends += \
     qtcore \
     qtnetwork \
     qtopengl \
     qtsvg \
     qtqml \
     qtquick \
     qtwidgets \
     qtdoc

 headerdirs  += ..

 sourcedirs  += .. \
                ../../../examples/gui/doc/src

 excludedirs  = ../../../examples/gui/doc/src/tmp

 exampledirs += ../../../examples/gui \
                snippets

 imagedirs   += images \
                ../../../examples/gui/doc/images \
                ../../../doc/src/images \
 include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)

QDoc inherits the default templates, macros, and settings from the directory specified from the $QT_INSTALL_DOCS variable. qmake prints the value of the variable.

 qmake -query

See also: include.

 project                 = QtGui

The project variable sets the name of the QDoc build. This name is also used to form the index file, which, in this case, will be qtgui.index. The name of the index file doesn't adopt the uppercase letters of the project name.

See also: project.

 description             = Qt GUI Reference Documentation

A short description of the project concerned.

 url                     = http://doc.qt.io/qt-5

The url variable holds the base url of the project.

The URL is stored in the generated index file for the project. QDoc will use this as the base URL when constructing external links to content listed in the index.

Note: QDoc omits this value when the -installdir argument is specified when running QDoc.

 examplesinstallpath     = gui

This examplesinstallpath variable indicates that the examples will be installed in the gui directory under the parent examples directory (for Qt, this is $QT_INSTALL_EXAMPLES).

Note: The examplepath variable has to match the example directory specified in exampledirs.

Note: It is possible to override the exampleinstallpath for a specific \example using the \meta command.

See also: exampledirs and \meta.

 qhp.projects    = QtGui
 qhp.QtGui.file  = qtgui.qhp

The following parameters are for creating a QHP file (.qhp). The qhelpgenerator program can convert the QHP file into a QCH file (.qch), which can be opened in Qt Assistant or Qt Creator.

 qhp.QtGui.namespace           = org.qt-project.qtgui.$QT_VERSION_TAG

A unique identifier which enables QHelpEngine to retrieve the helpfile from a given link. This namespace is also used as a base url for links to the helpfile.

 qhp.QtGui.virtualFolder       = qtgui

Virtual folders group documentation together into a single location. A virtual folder will become the root directory of all files referenced in a compressed help file.

When two manuals are located in the same virtual folder, it is possible to refer to sections of the other manual using relative paths. The virtual folder tag is mandatory and the folder must not contain any '/'.

 qhp.QtGui.indexTitle          = Qt GUI

This is the title of the page that has the contents.

 qhp.QtGui.indexRoot           =

Specifies the title of the root (namespace) page to generate the documentation for. Typically defined as an empty string.

 qhp.QtGui.filterAttributes    = qtgui $QT_VERSION qtrefdoc
 qhp.QtGui.customFilters.Qt.name = QtGui $QT_VERSION
 qhp.QtGui.customFilters.Qt.filterAttributes = qtgui $QT_VERSION

The documentation set (one per QDoc project) can have any number of filter attributes assigned to it. A filter attribute is an ordinary string which can be freely chosen. Additionally, custom filters that reference above attributes can be defined. Qt Assistant will display the name of the custom filter in its Filtered by drop-down list. Only the documentation sets that have their filter attributes match the attributes of the selected custom filter will be shown.

 qhp.QtGui.subprojects         = classes
 qhp.QtGui.subprojects.classes.title = C++ Classes
 qhp.QtGui.subprojects.classes.indexTitle = Qt GUI C++ Classes

The subprojects specify the sections that are displayed in the table of contents for this project. In this example, the subproject, which is displayed in the Assistant's sidebar, is named "C++ Classes" and its index is the page titled "QT GUI C++ Classes".

 qhp.QtGui.subprojects.classes.selectors = class fake:headerfile

Lists all C++ classes and header files.

See Creating Help Project Files for more information.

 tagfile                 = ../../../doc/qtgui/qtgui.tags

This specifies the Doxygen tag file that needs to be written when the html is generated by QDoc.

 depends += \
    qtcore \
    qtnetwork \
    qtopengl \
    qtsvg \
    qtqml \
    qtquick \
    qtwidgets \
    qtdoc

Specifies the modules QDoc needs to load for generating output for Qt GUI. QDoc loads the index files for all modules listed in the depends statement in order to enable linking to pages in these modules.

 headerdirs  += ..

Add the parent directory to the list of directories containing the header files associated with the .cpp source files.

 sourcedirs  += .. \
                ../../../examples/gui/doc/src

Add the specified directories to the list of directories containing the .cpp and .qdoc files used in the documentation.

 excludedirs  = ../../../examples/gui/doc/src/tmp

The excludedirs variable is for listing directories that should not be processed by QDoc, even if the same directories are included by the sourcedirs or headerdirs variables.

When executed, QDoc will ignore the directories listed. See also: excludefiles.

 exampledirs += ../../../examples/gui \
                snippets

See also: examples, examplesinstallpath.

Add the two directories specified to the list of directories containing the source code of the example files.

If QDoc encounters both exampledirs and examples, it will look first in the examples directory. QDoc will accept the first matching file it finds. QDoc will search in the directories specified, not in their subdirectories.

 imagedirs   += images \
                ../../../examples/gui/doc/images \
                ../../../doc/src/images \

Add the directories specified above to the list of directories where the images can be found.