Variables de configuration génériques
Les variables de configuration générales de QDoc vous permettent de définir où QDoc trouvera les différents fichiers sources dont il a besoin pour générer la documentation, ainsi que le répertoire dans lequel la documentation générée sera placée. Vous pouvez également effectuer quelques manipulations mineures de QDoc lui-même, en contrôlant sa sortie et son comportement de traitement.
codeindent
La variable codeindent spécifie le niveau d'indentation utilisé par QDoc lors de l'écriture d'extraits de code.
À l'origine, QDoc utilisait une valeur codée en dur de quatre espaces pour l'indentation du code afin de s'assurer que les extraits de code puissent être facilement distingués du texte environnant. Étant donné que nous pouvons utiliser des feuilles de style pour ajuster l'apparence de certains types d'éléments HTML, ce niveau d'indentation n'est pas toujours nécessaire.
langues de code
La variable codelanguages spécifie une liste de langages de code source non reconnus par QDoc qui peuvent être utilisés dans les blocs \code... \endcode. Cela permet d'écrire des blocs de code dans des langues que QDoc ne peut pas analyser et de générer du HTML qui peut être mis en évidence ou traité par d'autres outils.
codelanguages = Python Rust Java Swift "C#"
Étant donné que QDoc peut traiter C++ (Cpp), QML et du texte, il n'est pas nécessaire de spécifier ces langages dans cette liste. Les noms de langages contenant des caractères spéciaux, tels que C#, doivent être mis entre guillemets lorsqu'ils sont inclus dans cette liste.
La variable codelanguages a été introduite dans QDoc 6.11 pour permettre à la documentation en ligne de Qt d'utiliser la coloration syntaxique pour un sous-ensemble des langues prises en charge par highlight.js.
Voir aussi \code.
codeprefix, codesuffix
Les variables codeprefix et codesuffix spécifient une paire de chaînes de caractères dans lesquelles chaque extrait de code est inclus.
définit
La variable defines spécifie les symboles du préprocesseur C++ que QDoc reconnaîtra et auxquels il répondra.
Lorsqu'un symbole de préprocesseur est spécifié à l'aide de la variable defines, vous pouvez également utiliser la commande \if pour joindre une documentation qui ne sera incluse que si le symbole de préprocesseur est défini.
defines = QT_GUI_LIB
Cela garantit que QDoc traitera le code qui nécessite la définition de ces symboles. En voici un exemple :
#ifdef Q_GUI_LIB void keyClick(QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1) #endif
Vous pouvez également définir les symboles de préprocesseur manuellement sur la ligne de commande à l'aide de l'option -D. En voici un exemple :
currentdirectory$ qdoc -Dqtforpython qtgui.qdocconf
Dans ce cas, l'option -D garantit que le symbole de préprocesseur qtforpython est défini lorsque QDoc traite les fichiers source définis dans le fichier qtgui.qdocconf.
dépend
La variable depends définit une liste d'autres projets de documentation dont ce projet dépend pour la résolution des cibles de lien pour l'héritage de type et tout autre élément vers lequel la documentation doit être liée.
Comme Qt lui-même, la documentation pour Qt est distribuée à travers plusieurs modules. Dans un projet de documentation multi-modules, l'ensemble minimum de dépendances pour un seul module consiste en des dépendances de construction réelles. En outre, s'il existe un projet de documentation (module) qui sert de point d'entrée de premier niveau pour l'ensemble de la documentation et qui fournit des liens de navigation, la documentation de chaque module doit l'inclure en tant que dépendance.
Lorsque QDoc génère de la documentation pour un projet, il génère également un fichier .index contenant les URL de chaque entité du projet pouvant faire l'objet d'un lien. Chaque dépendance est un nom de projet (en minuscules). Ce nom doit correspondre au nom de base du fichier d'index généré pour ce projet.
depends = \
qtdoc \
qtcore \
qtquickLors de l'invocation de QDoc sur un projet ayant des dépendances et utilisant la variable depends, un ou plusieurs chemins -indexdir doivent être transmis en tant qu'option(s) de ligne de commande. QDoc utilise ces chemins pour rechercher les fichiers d'index des dépendances.
qdoc mydoc.qdocconf -outputdir $PWD/html -indexdir $QT_INSTALL_DOCS
Avec l'option ci-dessus, QDoc recherchera un fichier $QT_INSTALL_DOCS/qtdoc/qtdoc.index pour une dépendance à qtdoc. Si un fichier d'index pour une dépendance n'est pas trouvé, QDoc affichera un avertissement.
La commande depends accepte également la valeur spéciale "*". Cette valeur indique à QDoc de charger tous les fichiers d'index trouvés dans les répertoires d'index spécifiés, c'est-à-dire qu'il "dépend de tout".
depends = *
Voir aussi index, projet et url.
documentation dans les en-têtes
Définir documentationinheaders = true pour demander à QDoc d'analyser les commentaires de documentation également dans les fichiers d'en-tête lors de la génération de la documentation pour les projets basés sur le C++.
Attention : Dans les grandes bases de code, cela peut avoir un impact sur le temps de traitement de QDoc. Par conséquent, vous ne devriez pas activer ce drapeau si vous n'en avez pas besoin.
Cette fonctionnalité a été introduite dans QDoc avec Qt 6.9.
exemples
La variable exampledirs indique les répertoires contenant le code source des fichiers d'exemple.
Les variables examples et exampledirs sont utilisées par la commande \quotefromfile, \quotefile et \example sont utilisées par les commandes , et . Si les variables examples et exampledirs sont toutes deux définies, QDoc effectuera une recherche dans les deux, d'abord dans examples puis dans exampledirs.
QDoc recherchera dans les répertoires dans l'ordre spécifié et acceptera le premier fichier correspondant qu'il trouvera. Il ne cherchera que dans les répertoires spécifiés, pas dans les sous-répertoires.
exampledirs = $QTDIR/doc/src \
$QTDIR/examples \
$QTDIR \
$QTDIR/qmake/examples
examples = $QTDIR/examples/widgets/analogclock/analogclock.cppLors du traitement des
\quotefromfile widgets/calculator/calculator.cpp
QDoc vérifiera s'il existe un fichier appelé calculator.cpp listé en tant que valeur dans la examples comme valeur. Si ce n'est pas le cas, il cherchera dans la variable exampledirs, et verra d'abord s'il existe un fichier appelé
$QTDIR/doc/src/widgets/calculator/calculator.cpp
Si ce n'est pas le cas, QDoc continuera à chercher un fichier appelé
$QTDIR/examples/widgets/calculator/calculator.cpp
et ainsi de suite.
Voir aussi les exemples.
exemples
La variable examples vous permet de spécifier des fichiers d'exemples individuels en plus de ceux situés dans les répertoires spécifiés par la variable exampledirs spécifiée par la variable
Les variables examples et exampledirs sont utilisées par les variables \quotefromfile, \quotefile et \example sont utilisées par les commandes , et . Si les variables examples et exampledirs sont définies, QDoc effectuera une recherche dans les deux, d'abord dans examples, puis dans exampledirs.
QDoc recherchera les valeurs répertoriées pour la variable examples, dans l'ordre spécifié, et acceptera la première qu'il trouvera.
Pour un exemple détaillé, voir la commande exampledirs pour un exemple détaillé. Notez toutefois que si vous savez que le fichier est répertorié dans la variable examples, vous n'avez pas besoin de spécifier son chemin d'accès :
\quotefromfile calculator.cpp
Voir aussi exemples de fichiers.
chemin d'installation des exemples
La variable examplesinstallpath définit le chemin racine des exemples de ce projet dans le répertoire d'exemples installé.
En supposant que le chemin d'installation racine soit QT_INSTALL_EXAMPLES pour tous les exemples, le chemin
<QT_INSTALL_EXAMPLES>/<examplesinstallpath>/<example_path>
sera utilisé pour faire référence au chemin d'un seul exemple dans ce projet de documentation. Ces chemins sont enregistrés dans le fichier manifeste de l'exemple, lu par Qt Creator.
Pour garantir des chemins corrects, examplesinstallpath doit correspondre à l'un des répertoires répertoriés dans exampledirs. Le chemin d'accès transmis en tant qu'argument pour chaque commande \example est relatif au chemin d'accès dans exampledirs.
Par exemple :
exampledirs = ./snippets \
../../../examples/mymodule
examplesinstallpath = mymoduleEt compte tenu de la commande suivante \example:
/*!
\example basic/hello
...
*/Le chemin mymodule/basic/hello est alors enregistré dans le fichier manifeste pour cet exemple.
Remarque : il est possible de remplacer examplesinstallpath pour un individu en utilisant la commande \example en utilisant la commande \meta à l'aide de la commande
Voir aussi: exampledirs, \exampleet \meta.
exemples.d'extensions de fichiers
La variable examples.fileextensions spécifie les extensions de fichiers que QDoc recherchera lors de la collecte des fichiers d'exemples à afficher dans la documentation.
Les extensions par défaut sont *.cpp, *.h, *.js, *.xq, *.svg, *.xml et *.ui.
Les extensions sont données sous forme d'expressions génériques standard. Vous pouvez ajouter une extension de fichier au filtre en utilisant '+='. Par exemple, vous pouvez ajouter une extension de fichier au filtre à l'aide de '+=' :
examples.fileextensions += *.qrc
Voir aussi headers.fileextensions.
exemples.warnaboutmissingimages
Lors du traitement de la documentation des exemples, QDoc peut émettre des avertissements si un exemple ne contient pas d'images. Cet avertissement peut être désactivé en définissant la variable de configuration suivante dans le fichier .qdocconf du projet :
examples.warnaboutmissingimages = false
Cette variable de configuration a été introduite dans QDoc avec Qt 6.9.
Voir aussi examples.warnaboutmissingprojectfiles.
exemples.warnaboutmissingprojectfiles
Lors du traitement de la documentation des exemples, QDoc peut émettre des avertissements si un exemple ne contient pas de fichier de projet. Cet avertissement peut être désactivé en définissant la variable de configuration suivante dans le fichier .qdocconf du projet :
examples.warnaboutmissingprojectfiles = false
Cette variable de configuration a été introduite dans QDoc avec Qt 6.9.
Voir aussi examples.warnaboutmissingimages.
images exclues
La variable excludedirs permet de lister les répertoires qui ne doivent pas être traités par QDoc, même si ces mêmes répertoires sont inclus dans les variables sourcedirs ou headerdirs.
Par exemple :
sourcedirs = src/corelib excludedirs = src/corelib/tmp
Lorsqu'il est exécuté, QDoc exclut les répertoires répertoriés de toute considération ultérieure. Les fichiers de ces répertoires ne seront pas lus par QDoc.
Voir aussi excludefiles.
excludefiles
La variable excludefiles vous permet de spécifier des fichiers individuels qui ne doivent pas être traités par QDoc.
excludefiles += $QT_CORE_SOURCES/../../src/widgets/kernel/qwidget.h \
$QT_CORE_SOURCES/../../src/widgets/kernel/qwidget.cppSi vous incluez ce qui précède dans votre fichier qdocconf pour qtbase, aucune documentation de classe ne sera générée pour QWidget.
Depuis Qt 5.6, les caractères génériques simples ('*' et '?') sont également reconnus par excludefiles. Par exemple, pour exclure tous les fichiers d'en-tête privés de Qt de l'analyse, définissez ce qui suit :
excludefiles += "*_p.h"
Voir aussi excludedirs.
extraimages
La variable extraimages indique à QDoc d'incorporer des images spécifiques dans la documentation générée.
QDoc copie automatiquement un fichier image de imagedirs vers le répertoire de sortie s'il est référencé par la variable \image ou \inlineimage le référence. Si vous souhaitez copier d'autres images, vous devez les spécifier à l'aide de la variable extraimages.
La syntaxe générale est la suivante format.extraimages = image.
Exemple :
HTML.extraimages = images/qt-logo.png
Voir aussi images et imagedirs.
faussetés
La variable falsehoods définit la valeur de vérité des symboles du préprocesseur spécifiés comme étant fausse.
Les valeurs de la variable sont des expressions régulières (voir QRegularExpression pour plus de détails). Si cette variable n'est pas définie pour un symbole de préprocesseur, QDoc considère que sa valeur de vérité est vraie. L'exception est '0', qui est toujours faux.
QDoc reconnaît et est capable d'évaluer la syntaxe de préprocesseur suivante :
#ifdef NOTYET ... #endif #if defined (NOTYET) ... #end if
Cependant, face à une syntaxe inconnue comme
#if NOTYET ... #endif
QDoc l'évaluera comme vrai par défaut, à moins que le symbole du préprocesseur ne soit spécifié dans l'entrée de la variable falsehoods:
falsehoods = NOTYET
Voir aussi " defines".
generateindex
La variable generateindex contient une valeur booléenne qui indique s'il faut générer un fichier d'index lorsque la documentation HTML est générée.
Par défaut, un fichier d'index est toujours généré avec la documentation HTML, de sorte que cette variable n'est généralement utilisée que pour désactiver cette fonctionnalité (en fixant la valeur à false) ou pour activer la génération d'index pour la sortie WebXML (en fixant la valeur à true).
headerdirs
La variable headerdirs spécifie les répertoires contenant les fichiers d'en-tête associés aux fichiers source .cpp utilisés dans la documentation.
headerdirs = $QTDIR/src \
$QTDIR/extensions/activeqt \
$QTDIR/extensions/motif \
$QTDIR/tools/designer/src/lib/extension \
$QTDIR/tools/designer/src/lib/sdk \
$QTDIR/tools/designer/src/lib/uilibLorsqu'il est exécuté, QDoc commence par lire les en-têtes spécifiés dans la variable headers et ceux situés dans les répertoires spécifiés dans la variable headerdir (y compris tous les sous-répertoires), en construisant une structure interne des classes et de leurs fonctions.
Ensuite, il lira les sources spécifiées dans la variable sourceset celles situées dans les répertoires spécifiés dans la variable sourcedirs (y compris tous les sous-répertoires), en fusionnant la documentation avec la structure qu'il a récupérée dans les fichiers d'en-tête.
Si les variables headers et headerdirs sont toutes deux définies, QDoc les lira toutes les deux, d'abord headers puis headerdirs.
Dans les répertoires spécifiés, QDoc ne lira que les fichiers dont l'adresse fileextensions est spécifiée dans la variable headers.fileextensions dans la variable. Les fichiers spécifiés par headers seront lus sans tenir compte de leurs extensions.
Voir aussi headers et headers.fileextensions.
en-têtes
La variable headers vous permet de spécifier des fichiers d'en-tête individuels en plus de ceux situés dans les répertoires spécifiés par la variable headerdirs spécifiée par la variable
headers = $QTDIR/src/gui/widgets/qlineedit.h \
$QTDIR/src/gui/widgets/qpushbutton.hLors du traitement de la variable headers, QDoc se comporte de la même manière que lors du traitement de la variable headerdirs . Pour plus d'informations, voir la rubrique headerdirs variable.
Voir aussi headerdirs.
headers.fileextensions
La variable headers.fileextensions spécifie l'extension utilisée par les en-têtes.
Lors du traitement des fichiers d'en-tête spécifiés dans la variable headerdirs QDoc ne lira que les fichiers dont l'extension est spécifiée dans la variable headers.fileextensions. QDoc évite ainsi de perdre du temps à lire des fichiers non pertinents.
Les extensions par défaut sont *.ch, *.h, *.h++, *.hh, *.hpp et *.hxx.
Les extensions sont données sous forme d'expressions génériques standard. Vous pouvez ajouter une extension de fichier au filtre en utilisant '+='. Par exemple, vous pouvez ajouter une extension de fichier au filtre à l'aide de '+=' :
header.fileextensions += *.H
Avertissement : L'affectation ci-dessus peut ne pas fonctionner comme prévu.
Voir aussi headerdirs.
chemins d'inclusion
La variable includepaths est utilisée pour passer des chemins d'inclusion supplémentaires à l'analyseur Clang que QDoc utilise pour analyser le code C++ pour les commentaires de documentation.
La variable accepte une liste de chemins, préfixés par -I (chemin d'inclusion), -F (chemin d'inclusion du framework macOS), ou -isystem (chemin d'inclusion du système). Si un préfixe est omis, -I est utilisé par défaut.
Les chemins relatifs au fichier .qdocconf actuel sont transformés en chemins absolus. Les chemins qui n'existent pas dans le système de fichiers sont ignorés.
Note : Pour les projets de documentation Qt, le système de construction fournit généralement les chemins d'inclusion requis en tant qu'arguments de ligne de commande lors de l'invocation de QDoc.
Voir aussi moduleheader.
includeeprivate
Utilisez includeprivate pour inclure les membres privés d'une classe C++ dans votre documentation. QDoc exclut normalement les fonctions, types et variables privés de la documentation générée.
Pour inclure tous les membres privés, remplacez includeprivate par true:
includeprivate = true
Vous pouvez également activer des types de membres spécifiques :
# Include only private functions includeprivate.functions = true # Include only private types (classes, enums, typedefs) includeprivate.types = true # Include only private variables includeprivate.variables = true
Les paramètres spécifiques remplacent les paramètres globaux. Par exemple :
includeprivate = true includeprivate.types = false
Cette configuration inclut les fonctions et variables privées mais exclut les types privés.
Remarque : ne documentez les membres privés que lorsque vous devez expliquer les API internes et les détails de l'implémentation. Évitez d'exposer des détails d'implémentation dont les utilisateurs n'ont pas besoin.
QDoc a introduit includeprivate dans Qt 6.11.
modèles de fichiers internes
La variable internalfilepatterns spécifie les modèles de chemin de fichier qui identifient les fichiers d'implémentation internes. Les classes déclarées dans des fichiers correspondant à ces motifs sont automatiquement marquées comme internes, ainsi que tous leurs membres (propriétés, fonctions, enums, types imbriqués). Les fonctions libres, les enums et les typedefs à l'échelle du fichier ne sont pas affectés par ce paramètre.
Lorsque showinternal vaut false (valeur par défaut), ces entités sont exclues de la validation de la documentation. Lorsque showinternal est true, elles sont incluses dans la documentation mais conservent leur statut Internal, ce qui permet aux générateurs de les styliser différemment (par exemple en ajoutant des indicateurs visuels pour les API internes).
Cela est utile pour les en-têtes d'implémentation privés qui contiennent des classes ne faisant pas partie de l'interface publique documentée. Dans Qt XML, cela inclut les en-têtes privés se terminant par _p.h.
Syntaxe du motif
Les motifs prennent en charge deux syntaxes :
- Lesmotifs globaux de type Shell: Des caractères génériques simples où
*correspond à n'importe quel caractère et?correspond à un seul caractère. Les motifs globaux ne correspondent qu'au nom de fichier et non au chemin d'accès complet, ce qui les rend idéaux pour des motifs tels que*_p.h. - Expressions régulières: Pour les correspondances basées sur le chemin d'accès, utilisez la syntaxe des expressions rationnelles. Tout motif contenant des métacaractères regex (
^$[]{}()|+\\.) est traité comme une expression régulière et comparé au chemin d'accès complet normalisé.
Les motifs sont comparés avec des barres obliques (/) comme séparateurs de répertoires. QDoc normalise les séparateurs de chemin en interne, c'est pourquoi il faut toujours utiliser / dans les motifs, quelle que soit la plate-forme.
Lorsqu'une classe est marquée comme interne en raison de l'emplacement de son fichier, le statut interne se propage automatiquement à tous ses membres à travers la hiérarchie des nœuds.
Exemple - Convention Qt (glob) :
internalfilepatterns = *_p.h
Correspond à tout fichier se terminant par _p.h, quelle que soit la profondeur du répertoire.
Exemple - Modèles de noms de fichiers multiples (glob) :
internalfilepatterns = *_p.h *_impl.h *_pch.h
Recherche les fichiers se terminant par _p.h, _impl.h, ou _pch.h.
Remarque : les motifs globaux ne fonctionnent pas pour la recherche dans les répertoires, car les motifs globaux ne voient que le nom de fichier. Pour les motifs basés sur les répertoires, utilisez plutôt les expressions rationnelles.
Exemple - Correspondance basée sur un répertoire (regex) :
internalfilepatterns = .*/internal/.*\.h
Correspond à n'importe quel fichier .h dans n'importe quel répertoire internal à n'importe quelle profondeur.
Exemple - Motifs multiples :
internalfilepatterns = *_p.h .*/private/.*\.h
Combine les motifs globaux pour les cas simples et les expressions rationnelles pour les chemins d'accès complexes.
QDoc a introduit internalfilepatterns dans Qt 6.11.
Voir aussi : excludedirs et excludefiles.
mots ignorés
La variable ignorewords est utilisée pour spécifier une liste de chaînes de caractères que QDoc ignorera lors de la résolution des cibles des hyperliens.
QDoc dispose d'une fonction de liaison automatique, qui tente de lier les mots qui ressemblent à des entités C++ ou QML. Plus précisément, une chaîne peut faire l'objet d'un lien automatique si elle comporte au moins trois caractères, qu'elle ne contient pas d'espace blanc et qu'elle
- est un mot en camelCase, c'est-à-dire qu'il contient au moins un caractère majuscule à un indice supérieur à zéro, ou
- contient la sous-chaîne
()ou::, ou - contient au moins un caractère spécial,
@ou_.
L'ajout d'un mot qualifié à ignorewords empêche QDoc de lier ce mot automatiquement. Par exemple, si le mot OpenGL est une cible de lien valide (une section, \pageou \externalpage ), il est possible d'éviter la création d'un lien hypertexte pour chaque occurrence à l'aide de la commande
ignorewords += OpenGL
L'établissement d'un lien explicite avec \l continue de fonctionner pour les mots ignorés.
La variable ignorewords a été introduite dans QDoc 5.14.
ignorepuis
La variable ignoresince est utilisée pour définir une valeur limite pour les versions transmises à la commande \since . Toutes les commandes \since qui définissent une version inférieure à la valeur limite sont ignorées et ne génèrent aucune sortie.
Les valeurs limites sont spécifiques au projet. Le nom du projet peut être défini comme une sous-variable. Le nom du projet par défaut est Qt. Par exemple :
ignoresince = 5.0 ignoresince.QDoc = 5.0
Ces commandes ignoreront les commandes \since lorsque la version majeure est 4 ou inférieure et que le projet est QDoc ou non défini.
\since 3.2 # Ignored \since 5.2 # Documented (as 'Qt 5.2') \since QDoc 4.6 # Ignored \since QtQuick 2.5 # Documented
La variable ignoresince a été introduite dans QDoc 5.15.
Voir aussi \since.
imagedirs
La variable imagedirs indique les répertoires contenant les images utilisées dans la documentation.
Les variables images et imagedirs sont utilisées par les variables \image et \inlineimage sont utilisées par les commandes et . Si les variables images et imagedirs sont définies, QDoc effectuera une recherche dans les deux. D'abord dans imagespuis dans imagedirs.
QDoc effectuera une recherche dans les répertoires dans l'ordre indiqué et acceptera le premier fichier correspondant qu'il trouvera. Il ne cherchera que dans les répertoires spécifiés, pas dans les sous-répertoires.
imagedirs = $QTDIR/doc/src/images \
$QTDIR/examples
images = $QTDIR/doc/src/images/calculator-example.pngLors du traitement des
\image calculator-example.png
QDoc vérifie s'il existe un fichier appelé calculatrice-exemple.png répertorié comme valeur dans la variable images. Si ce n'est pas le cas, il recherchera dans la variable imagedirs le fichier :
$QTDIR/doc/src/images/calculator-example.png
Si le fichier n'existe pas, QDoc recherchera un fichier appelé
$QTDIR/examples/calculator-example.png
imagesoutputdir
La variable imagesoutputdir contrôle le nom du sous-répertoire, sous le répertoire de sortie, que QDoc utilise pour stocker les images.
La valeur par défaut de imagesoutputdir est images.
Les fichiers images transmis en tant qu'argument à \image et \inlineimage sont copiés dans ce répertoire.
La définition d'un répertoire de sortie personnalisé pour les images est utile pour les constructions de documentation multi-modules où plusieurs projets de documentation sont configurés pour utiliser un répertoire de sortie partagé. Par exemple, avec la configuration (partagée) suivante :
imagesoutputdir = images/${project}Chaque projet de documentation de la compilation utilise <outputdir>/images/<project name> pour stocker les images, ce qui évite que des fichiers d'image portant le même nom ne s'écrasent les uns les autres.
Cette variable a été introduite dans QDoc avec Qt 6.11.
langage
La variable language spécifie la langue du code source utilisé dans la documentation. Plus précisément, elle définit la langue par défaut pour l'analyse du code source dans les blocs \code.. \endcode.
language = Cpp
Le langage par défaut est C++ (Cpp), et il n'est pas nécessaire de le spécifier explicitement. Si les extraits de code de la documentation sont principalement constitués de code QML, définissez QML comme langage par défaut :
language = QML
Voir aussi \code.
locationinfo
La variable booléenne locationinfo détermine si des informations détaillées sur la localisation de chaque entité sont écrites dans les fichiers .index et .webxml(lors de l'utilisation du format de sortie WebXML).
Les informations de localisation sont le chemin complet et le numéro de ligne de la déclaration ou du bloc de commentaires de la documentation dans le code source.
La valeur false désactive les informations de localisation :
locationinfo = false
La valeur par défaut est true.
La variable locationinfo a été introduite dans QDoc 5.15.
avertissements
La variable booléenne logwarnings détermine si QDoc écrit des messages d'avertissement dans un fichier journal en plus de stderr.
Lorsqu'elle vaut true, QDoc crée un fichier journal nommé <project>-qdoc-warnings.log dans le répertoire de sortie et écrit tous les messages d'avertissement dans ce fichier. Les avertissements sont également écrits sur stderr comme d'habitude.
Le fichier journal comprend un en-tête avec des informations sur le projet et, par défaut, les arguments de ligne de commande utilisés pour invoquer QDoc à des fins de reproductibilité.
La valeur true permet d'activer l'enregistrement des avertissements :
logwarnings = true
La valeur par défaut est false.
Cette fonction est utile pour les grands ensembles de documentation ou les environnements de CI où les avertissements peuvent être nombreux et défiler trop rapidement pour être analysés systématiquement.
La variable logwarnings a été introduite dans QDoc 6.11.
logwarnings.disablecliargs
La sous-variable booléenne logwarnings.disablecliargs contrôle si les arguments de l'interface de programmation sont omis dans les en-têtes des fichiers d'avertissement.
logwarnings.disablecliargs = true
Lorsqu'elle vaut true, les arguments de la ligne de commande sont omis de l'en-tête du fichier journal, ce qui rend les fichiers journaux portables dans différents environnements. Ceci est utile pour les suites de tests et les systèmes de CI où les arguments de la ligne de commande contiennent des chemins spécifiques à l'environnement et des répertoires temporaires.
La valeur par défaut est false. La variable logwarnings.disablecliargs a été introduite dans QDoc 6.11.
macro
La variable macro est utilisée pour créer vos propres commandes QDoc simples. La syntaxe est la suivante macro.command = definition. la commande est limitée à une combinaison de lettres et de chiffres, mais pas de caractères spéciaux comme le tiret ou le trait de soulignement. la définition est écrite en utilisant la syntaxe QDoc.
Une macro-variable peut être limitée à un seul type de génération de sortie. En ajoutant .HTML au nom de la macro, par exemple, la macro n'est utilisée que lors de la génération d'une sortie HTML.
macro.key = "\\b" macro.raisedaster.HTML = "<sup>*</sup>"
La première macro définit la commande \key pour rendre son argument en utilisant une police en gras. La deuxième macro définit la commande \raisedaster pour rendre un astérisque en exposant, mais uniquement lors de la génération HTML.
Une macro peut également prendre jusqu'à sept paramètres :
macro.hello = "Hello \1!"
Les paramètres sont transmis aux macros de la même manière qu'aux autres commandes :
\hello World
Lorsque vous utilisez plus d'un paramètre, ou lorsqu'un argument contient des espaces, placez chaque argument entre accolades :
macro.verinfo = "\1 (version \2)"
\verinfo {QFooBar} {1.0 beta}Une option spéciale pour les macros, match, peut être ajoutée afin d'obtenir une correspondance supplémentaire entre les expressions régulières et les macros étendues.
Par exemple,
macro.qtminorversion = "$QT_VER" macro.qtminorversion.match = "\\d+\\.(\\d+)"
Ceci crée une macro \qtminorversion qui s'étend à la version mineure basée sur la variable d'environnement QT_VER.
Une macro qui définit un modèle de correspondance produit tous les groupes de capture (entre parenthèses) concaténés ensemble, ou la chaîne de caractères exacte si le modèle ne contient aucun groupe de capture.
Pour plus d'informations sur les macros prédéfinies, voir Macros.
manifestmeta
La variable manifestmeta spécifie un méta-contenu supplémentaire pour les exemples de fichiers manifestes générés par QDoc.
Voir la section Contenu méta du manifeste pour plus d'informations.
en-tête de module
La variable moduleheader définit le nom de l'en-tête d'un module C++ documenté.
Les projets qui documentent les API C++ nécessitent un en-tête au niveau du module qui inclut toutes les classes publiques, les espaces de noms et les fichiers d'en-tête du module. L'analyseur Clang de QDoc utilise ce fichier pour construire un en-tête précompilé (PCH) pour le module afin d'accélérer l'analyse des fichiers source.
Par défaut, le nom du projet est également utilisé comme nom d'en-tête du module.
project = QtCore
Avec le nom de projet ci-dessus, QDoc recherche un en-tête de module QtCore dans tous les chemins d'inclusion connus ; en utilisant d'abord les chemins passés comme arguments de ligne de commande, puis les chemins listés dans la variable includepaths.
QDoc émet un avertissement si l'en-tête du module n'est pas trouvé. Il tentera alors de construire un en-tête de module artificiel basé sur les en-têtes listés dans la variable headerdirs.
Pour les projets de documentation Qt, le système de construction fournit généralement à QDoc les chemins d'inclusion corrects pour localiser l'en-tête du module, à condition que la variable project soit définie correctement. La variable moduleheader fournit un nom de fichier alternatif que QDoc doit rechercher.
Si le projet ne contient pas de documentation C++, il convient d'indiquer à QDoc de ne pas générer de PCH en définissant moduleheader comme une chaîne vide :
# No C++ code to document in this project moduleheader =
Voir aussi includepaths et project.
langue naturelle
La variable naturallanguage spécifie la langue naturelle utilisée pour la documentation générée par QDoc.
naturallanguage = zh-Hans
Par défaut, la langue naturelle est en pour des raisons de compatibilité avec la documentation existante.
QDoc ajoutera les informations relatives à la langue naturelle au code HTML qu'il génère, à l'aide des attributs lang et xml:lang.
Voir aussi sourceencoding, outputencoding, C.7. Les attributs lang et xml:lang et la meilleure pratique 13 : Utilisation des codes Hans et Hant.
navigation
Les sous-variables navigation, si elles sont définies, définissent la page d'accueil, la page de destination, la page des classes C++ et la page des types QML qui sont visibles dans la barre de navigation générée pour chaque page.
Dans un projet comportant plusieurs sous-projets (par exemple, les modules Qt), chaque sous-projet définit généralement sa propre page d'atterrissage, tandis que la même page d'accueil est utilisée pour tous les sous-projets.
Sous-variables
navigation.homepage | Page d'accueil du projet. |
navigation.hometitle | (Facultatif) Titre visible par l'utilisateur pour la page d'accueil. La valeur par défaut est tirée de homepage. |
navigation.landingpage | Page d'atterrissage du sous-projet. |
navigation.landingtitle | (Facultatif) Titre visible par l'utilisateur pour la page d'atterrissage. La valeur par défaut est tirée de landingpage. |
navigation.cppclassespage | Page de haut niveau qui répertorie toutes les classes C++ de ce (sous-)projet. Typiquement, le titre d'une \module page. |
navigation.cppclassestitle | (Facultatif) Titre visible par l'utilisateur pour la page des classes C++. La valeur par défaut est "C++ Classes". |
navigation.qmltypespage | Page de haut niveau qui répertorie tous les types QML pour ce (sous-)projet. Typiquement, le titre d'une \qmlmodule page. |
navigation.qmltypestitle | (Facultatif) Titre visible par l'utilisateur pour la page des types QML. Le titre par défaut est "Types QML". |
navigation.toctitles (Depuis QDoc 6.0) | Titre(s) de page(s) contenant une \list structure qui fait office de table des matières (TOC). QDoc génère des liens de navigation pour les pages énumérées dans la table des matières, sans qu'il soit nécessaire d'utiliser les touches \nextpage et \previouspage ainsi qu'une hiérarchie de navigation visible dans la barre de navigation (breadcrumbs) pour la sortie HTML. |
navigation.toctitles.inclusive (Depuis QDoc 6.3) | Si l'option true est sélectionnée, les pages listées dans navigation.toctitles apparaîtront également dans la barre de navigation en tant qu'élément racine. |
navigation.trademarkspage (Depuis QDoc 6.8) | Titre d'une page qui documente les marques mentionnées dans la documentation. Voir aussi \tm commande. |
Voir aussi commande :
# Common configuration navigation.homepage = index.html navigation.hometitle = "Qt $QT_VER" # qtquick.qdocconf navigation.landingpage = "Qt Quick" navigation.cppclassespage = "Qt Quick C++ Classes" navigation.qmltypespage = "Qt Quick QML Types"
La configuration ci-dessus produit la barre de navigation suivante pour Item QML type :
Qt 5.10 > Qt Quick > QML Types > Item QML TypeTable des matières et liens de navigation
Si une ou plusieurs pages font office de table des matières (TOC), listez leurs titres dans navigation.toctitles pour automatiser la génération de liens de navigation( pageprécédente et suivante ) pour toutes les pages listées dans une TOC.
QDoc s'attend à ce que chaque page de la table des matières contienne un \list de liens sur chaque page de la table des matières. Les sous-listes imbriquées sont autorisées.
Par exemple,
\list
\li \l {Home}
\li \l {Getting started}
\li What's new
\list
\li \l {What's new in v1.3} {v1.3}
\li \l {What's new in v1.2} {v1.2}
\li \l {What's new in v1.1} {v1.1}
\endlist
\endlistDepuis la version 6.10 de QDoc, on peut également trouver dans la liste de la table des matières \generatelist peut apparaître dans la liste de la table des matières :
\list
\li \l {Home}
\li \l {Getting started}
\li What's new
\generatelist [descending] whatsnew
\endlistIci, le résultat est similaire à la première page \list, en supposant que les trois pages "Quoi de neuf" font partie du même groupe whatsnew.
Voir aussi \ingroup.
surcharge de la cible des signaux
Par défaut: connecting-overloaded-signals
La variable overloadedsignalstarget spécifie la cible du lien utilisée dans les notes générées automatiquement pour les signaux surchargés.
Lorsque QDoc rencontre un signal surchargé, il génère une note avec un lien vers la documentation d'aide sur la connexion aux signaux surchargés. Par défaut, ce lien renvoie à une cible nommée connecting-overloaded-signals.
Les projets peuvent personnaliser ce lien pour qu'il renvoie à leur propre documentation :
# Link to a target within the project overloadedsignalstarget = signals-guide.html#overloaded-signals # Link to external documentation overloadedsignalstarget = https://example.com/docs/signals.html#overloaded-signals
La cible peut être :
- un simple nom de cible (à utiliser avec les commandes
\target) :connecting-overloaded-signals - Une URL relative :
signals-guide.html#overloaded-signals - Une URL absolue :
https://example.com/docs/signals.html#overloaded-signals
Voir aussi overloadedslotstarget.
overloadedslotstarget
Par défaut: connecting-overloaded-slots
La variable overloadedslotstarget spécifie la cible du lien utilisée dans les notes générées automatiquement pour les créneaux surchargés.
Lorsque QDoc rencontre un emplacement surchargé, il génère une note contenant un lien vers la documentation d'aide sur la connexion aux emplacements surchargés. Par défaut, ce lien renvoie à une cible nommée connecting-overloaded-slots.
Les projets peuvent personnaliser ce lien pour qu'il renvoie à leur propre documentation :
# Link to a target within the project overloadedslotstarget = signals-guide.html#overloaded-slots # Link to external documentation overloadedslotstarget = https://example.com/docs/slots.html#overloaded-slots
La cible peut être :
- un simple nom de cible (à utiliser avec les commandes
\target) :connecting-overloaded-slots - Une URL relative :
signals-guide.html#overloaded-slots - Une URL absolue :
https://example.com/docs/slots.html#overloaded-slots
Voir aussi overloadedsignalstarget.
répertoire de sortie
La variable outputdir indique le répertoire dans lequel QDoc placera la documentation générée.
outputdir = $QTDIR/doc/html
localise la documentation de référence Qt générée dans $QTDIR/doc/html. Par exemple, la documentation de la classe QWidget est située dans
$QTDIR/doc/html/qwidget.html
Les images associées seront placées dans un sous-répertoire images.
Attention : Si QDoc est exécuté plusieurs fois dans le même répertoire de sortie, tous les fichiers de l'exécution précédente seront perdus.
encodage de sortie
La variable outputencoding spécifie l'encodage utilisé pour la documentation générée par QDoc.
outputencoding = UTF-8
Par défaut, l'encodage de sortie est ISO-8859-1 (Latin1) pour des raisons de compatibilité avec la documentation existante. Lors de la génération de documentation pour certaines langues, en particulier les langues non européennes, cela n'est pas suffisant et un encodage tel que UTF-8 est nécessaire.
QDoc codera le HTML en utilisant ce codage et générera les déclarations correctes pour indiquer aux navigateurs quel codage est utilisé. La variable de configuration naturallanguage doit également être spécifiée pour fournir aux navigateurs un ensemble complet d'informations sur le codage des caractères et la langue.
Voir également outputencoding et naturallanguage.
formats de sortie
La variable outputformats spécifie le(s) format(s) de la documentation générée.
Depuis Qt 5.11, QDoc supporte les formats HTML et WebXML ; depuis Qt 5.15, il peut aussi générer la documentation en DocBook. Si aucune adresse outputformats n'est spécifiée, QDoc génère la documentation en HTML (le format par défaut). Tous les formats de sortie peuvent être spécifiés, avec des répertoires de sortie dédiés et d'autres paramètres. Par exemple :
outputformats = WebXML HTML WebXML.nosubdirs = true WebXML.outputsubdir = webxml WebXML.quotinginformation = true
Ceci génère une documentation HTML en utilisant les paramètres par défaut, ainsi qu'une documentation WebXML dans le sous-répertoire de sortie webxml.
préfixes de sortie
La variable outputprefixes spécifie une correspondance entre les types de fichiers et les préfixes à ajouter aux noms des fichiers de sortie dans la documentation générée.
QDoc prend en charge l'ajout d'un préfixe de sortie aux noms de fichiers des pages de référence des types QML, des classes C++, des espaces de noms et des fichiers d'en-tête.
outputprefixes = QML CPP outputprefixes.QML = uicomponents- outputprefixes.CPP = components-
Par défaut, les fichiers contenant la documentation de l'API pour les types QML sont préfixés par qml-. Dans l'exemple ci-dessus, le préfixe uicomponents- est utilisé à la place.
De même, les pages de documentation des types C++ sont préfixées par components- dans l'exemple ci-dessus. Par défaut, les pages de types C++ n'ont pas de préfixe.
préfixes de sortie
La variable outputsuffixes spécifie une correspondance entre les types de fichiers et les suffixes à appliquer au nom du module ou du type tels qu'ils apparaissent dans les noms de fichiers de sortie.
QDoc prend en charge l'ajout d'un suffixe de sortie aux noms de fichiers des pages de modules, des types QML, des classes C++, des espaces de noms et des pages de référence des fichiers d'en-tête.
Par défaut, aucun suffixe n'est utilisé. Le suffixe de sortie QML, s'il est défini, est appliqué en tant que suffixe au nom du module tel qu'il apparaît dans les noms de fichiers des pages de type QML et de module QML.
Les noms de fichiers des types C++ n'incluent pas le nom du module. Le suffixe de sortie CPP, s'il est défini, est appliqué comme suffixe au nom du type.
outputsuffixes = QML CPP
{outputsuffixes.QML,outputsuffixes.CPP} = -tpAvec les définitions ci-dessus, étant donné le nom de module QML FooBar et le préfixe de sortie par défaut (qml-), le nom du fichier généré pour un type QML FooWidget est qml-foobar-tp-foowidget.html.
De même, pour une classe C++ QFoobar, QDoc génère qfoobar-tp.html.
La variable outputsuffixes a été introduite dans QDoc 5.6.
qhp
Les sous-variables qhp sont utilisées pour définir les informations à écrire dans les fichiers du projet Qt Help (qhp).
Voir le chapitre Création de fichiers de projet d'aide pour plus d'informations sur ce processus.
Depuis QDoc 6.6, la définition de la variable base qhp à true signifie qu'une configuration de projet d'aide valide est attendue :
qhp = true
Si la configuration d'un projet ne définit pas qhp.projects, QDoc émet un avertissement. Ceci est utile pour s'assurer que tous les projets de documentation avec un fichier .qdocconf de haut niveau partagé (comme dans Qt) sont configurés correctement.
Pour désactiver l'avertissement, définissez la variable à false.
sourcedirs
La variable sourcedirs indique les répertoires contenant les fichiers .cpp ou .qdoc utilisés dans la documentation.
sourcedirs += .. \
../../../examples/gui/doc/srcLorsqu'il est exécuté, QDoc commence par lire les en-têtes spécifiés dans la variable header et ceux situés dans les répertoires spécifiés dans la variable headerdir (y compris tous les sous-répertoires), en construisant une structure interne des classes et de leurs fonctions.
Ensuite, il lira les sources spécifiées dans la variable sourceset celles situées dans les répertoires spécifiés dans la variable sourcedirs (y compris tous les sous-répertoires), en fusionnant la documentation avec la structure qu'il a récupérée dans les fichiers d'en-tête.
Si les variables sources et sourcedirs sont toutes deux définies, QDoc les lira toutes les deux, d'abord sources puis sourcedirs.
Dans les répertoires spécifiés, QDoc ne lira que les fichiers dont l'adresse fileextensions est spécifiée dans la variable sources.fileextensions dans la variable. Les fichiers spécifiés par sources seront lus indépendamment de leur extension.
Voir aussi sources et sources.fileextensions.
sourceencoding
La variable sourceencoding spécifie l'encodage utilisé pour le code source et la documentation.
sourceencoding = UTF-8
Par défaut, le code source est ISO-8859-1 (Latin1) pour des raisons de compatibilité avec la documentation existante. Pour certaines langues, en particulier les langues non européennes, ce n'est pas suffisant et un encodage tel que UTF-8 est nécessaire.
Bien que QDoc utilise le codage pour lire les fichiers source et de documentation, les limitations des compilateurs C++ peuvent vous empêcher d'utiliser des caractères non ASCII dans les commentaires du code source. Dans de tels cas, il est possible d'écrire la documentation de l'API entièrement dans des fichiers de documentation.
Voir aussi naturallanguage et outputencoding.
sources
La variable sources vous permet de spécifier des fichiers sources individuels en plus de ceux situés dans les répertoires spécifiés par la variable sourcedirs.
sources = $QTDIR/src/gui/widgets/qlineedit.cpp \
$QTDIR/src/gui/widgets/qpushbutton.cppLors du traitement de la variable sources, QDoc se comporte de la même manière que lors du traitement de la variable sourcedirs. Pour plus d'informations, voir la variable sourcedirs.
Voir aussi sourcedirs.
sources.fileextensions
La variable sources.fileextensions filtre les fichiers d'un répertoire source.
Lors du traitement des fichiers source spécifiés dans la variable sourcedirs QDoc ne lira que les fichiers ayant les extensions spécifiées dans la variable sources.fileextensions. De cette manière, QDoc évite de perdre du temps à lire des fichiers non pertinents.
Les extensions par défaut sont *.c++, *.cc, *.cpp, *.cxx, *.mm, *.qml et *.qdoc.
Les extensions sont données sous forme d'expressions génériques standard. Vous pouvez ajouter une extension de fichier au filtre en utilisant '+='. Par exemple, vous pouvez ajouter une extension de fichier au filtre à l'aide de '+=' :
sources.fileextensions += *.CC
Avertissement : L'affectation ci-dessus peut ne pas fonctionner comme prévu.
Voir aussi les sources et les sources d'information.
fallacieux
La variable spurious exclut de la sortie les avertissements QDoc spécifiés. Les avertissements sont spécifiés à l'aide d'expressions génériques standard.
spurious = "Cannot find .*" \ "Missing .*"
permet de s'assurer que les avertissements correspondant à l'une ou l'autre de ces expressions ne feront pas partie de la sortie lors de l'exécution de QDoc. Par exemple, l'avertissement suivant serait-il omis de la sortie :
src/opengl/qgl_mac.cpp:156: Missing parameter name
mise en évidence de la syntaxe
La variable syntaxhighlighting indique si QDoc doit mettre en évidence la syntaxe du code source cité dans la documentation qu'il génère.
syntaxhighlighting = true
active la coloration syntaxique pour tous les langages de programmation pris en charge.
tabsize
La variable tabsize définit la taille du caractère de tabulation.
tabsize = 4
La variable tabsize donne au caractère de tabulation la taille de 4 espaces. La valeur par défaut de la variable est 8, et n'a pas besoin d'être spécifiée.
fichier d'étiquettes
La variable tagfile spécifie le fichier de balises Doxygen à écrire lorsque le HTML est généré.
version
La variable version indique le numéro de version du logiciel documenté.
version = 5.6.0
Lorsqu'un numéro de version est spécifié (à l'aide de la variable version ou versionsym dans un fichier .qdocconf ), il est accessible par la commande \version correspondante pour être utilisé dans la documentation.
Attention : La fonctionnalité de la commande \version n'est pas entièrement implémentée ; elle ne fonctionne actuellement qu'au sein du code HTML brut.
Voir aussi versionsym.
versionsym
La variable versionsym spécifie un symbole de préprocesseur C++ qui définit le numéro de version du logiciel documenté.
versionsym = QT_VERSION_STR
QT_VERSION_STR est défini dans qglobal.h comme suit
#define QT_VERSION_STR "5.14.1"
Lorsqu'un numéro de version est spécifié (à l'aide de l'option version ou versionsym dans un fichier .qdocconf ), il est accessible par la commande \version correspondante pour être utilisé dans la documentation.
Attention : La fonctionnalité de la commande \version n'est pas entièrement mise en œuvre. Actuellement, elle ne fonctionne que dans le code HTML brut.
Voir aussi \version.
limite d'avertissement
La variable warninglimit définit le nombre maximum d'avertissements de documentation autorisés. Si cette limite est dépassée, QDoc continue normalement mais se termine avec le nombre d'avertissements comme code d'erreur. Si la limite n'a pas été dépassée ou si warninglimit n'a pas été défini, le processus QDoc se termine par 0, en supposant qu'il n'y a pas eu d'autres erreurs critiques.
La définition de warninglimit à 0 signifie l'échec en cas d'avertissement.
Remarque : par défaut, QDoc n'applique pas la limite d'avertissement. Activez-la avec warninglimit.enabled = true ou en définissant la variable d'environnement QDOC_ENABLE_WARNINGLIMIT.
Par exemple,
# Fail the documentation build if we have more than 100 warnings warninglimit = 100 warninglimit.enabled = true
La variable warninglimit a été introduite dans Qt 5.11.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.