一般的な設定変数

一般的なQDocの設定変数で、QDocがドキュメントを生成するために必要な様々なソースファイルを見つける場所や、生成されたドキュメントを置くディレクトリを定義することができます。また、QDoc自体のちょっとした操作や、出力や処理の動作を制御することもできます。

コードインデント

codeindent 変数はQDocがコード・スニペットを書くときに使うインデントのレベルを指定します。

QDocは元々、コード・スニペットが周囲のテキストと簡単に区別できるように、コードのインデントにハードコードされた4つのスペースを使用していました。スタイルシートを使って特定のタイプのHTML要素の見た目を調整することができるので、このレベルのインデントは必ずしも必要ではありません。

codeprefix、codesuffix

codeprefixcodesuffix 変数は、各コード・スニペットを囲む文字列のペアを指定します。

定義

defines 変数は、QDocが認識して応答するC++プリプロセッサ・シンボルを指定します。

defines 変数を使ってプリプロセッサー・シンボルを指定すると、そのプリプロセッサー・シン ボルが定義されている場合にのみ含まれるドキュメントを囲むために、"if "コマン ドを使うこともできます。

defines = QT_GUI_LIB

これにより、QDocはこれらのシンボルが定義されている必要があるコードを確実に処理します。例えば

#ifdef Q_GUI_LIB
void keyClick(QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1)
#endif

Dオプションを使用して、コマンドラインで手動でプリプロセッサ・シンボルを定義することもできます。例えば

currentdirectory$ qdoc -Dqtforpython qtgui.qdocconf

この場合、-DオプションはQDocがqtgui.qdocconfファイルで定義されたソース・ファイルを処理するときにqtforpython プリプロセッサ・シンボルが定義されるようにします。

falsehoods\if も参照してください。

依存

depends 変数は、このプロジェクトが型継承やその他ドキュメントがリンクする必要のあるもののリンクターゲットを解決するために依存する他のドキュメントプロジェクトのリストを定義します。

Qt自体のように、Qtのドキュメントは複数のモジュールに分散しています。複数モジュールのドキュメントプロジェクトでは、1つのモジュールの依存関係の最小セットは、実際のビルド依存関係で構成されます。さらに、ドキュメント全体のトップレベルのエントリーポイントとして機能し、ナビゲーションリンクを提供するドキュメントプロジェクト(モジュール)がある場合は、各モジュールのドキュメントに依存関係として含める必要があります。

QDocがプロジェクトのドキュメントを生成するとき、プロジェクト内のリンク可能な各エンティティへのURLを含む.index 。各依存関係はプロジェクトの(小文字の)名前です。この名前は、そのプロジェクトのために生成されるインデックスファイルのベース名と一致しなければなりません。

depends = \
    qtdoc \
    qtcore \
    qtquick

依存関係を持ち、depends 変数を使用するプロジェクトで QDoc を起動する場合、1 つ以上の-indexdir パスをコマンドライン・オプションとして渡す必要があります。QDocはこれらのパスを使用して、依存関係のインデックスファイルを検索します。

qdoc mydoc.qdocconf -outputdir $PWD/html -indexdir $QT_INSTALL_DOCS

上記の場合、QDocは依存関係のためのファイル$QT_INSTALL_DOCS/qtdoc/qtdoc.indexqtdoc 。依存関係のためのインデックス・ファイルが見つからない場合、QDocは警告を出力します。

depends コマンドは特別な値'*'も受け付けます。これはQDocに、指定されたインデックス・ディレクトリで見つかったすべてのインデックス・ファイルを読み込むように指示します。

depends = *

indexesprojecturlも参照してください。

exampledirs

exampledirs 変数は、サンプルファイルのソースコードを含むディレクトリを指定します。

examples変数とexampledirs変数を使用します examples変数とexampledirs変数の両方が定義されている場合、QDocは両方を検索し、まずexamplesを検索し、次にexampledirsを検索します。

QDoc は、指定された順序でディレクトリを検索し、最初に一致したファイルを受 け入れます。指定されたディレクトリ内のみを検索し、サブディレクトリ内は検索しません

exampledirs = $QTDIR/doc/src \
              $QTDIR/examples \
              $QTDIR \
              $QTDIR/qmake/examples

examples    = $QTDIR/examples/widgets/analogclock/analogclock.cpp

処理中

\quotefromfile widgets/calculator/calculator.cpp

QDocはcalculator.cpp というファイルがあるかどうかを確認します。 examples変数の値としてリストされているかどうかを確認する。もしなければ、exampledirs 変数の中を検索し、最初に

$QTDIR/doc/src/widgets/calculator/calculator.cpp

もしなければ、QDocはというファイルを探し続けます。

$QTDIR/examples/widgets/calculator/calculator.cpp

というファイルを探し続けます。

例も参照してください。

変数examples を使うと、その変数で指定されたディレクトリにあるファイルの他に、個々のサンプル・ファイルを指定することができる。 exampledirs変数で指定されたディレクトリにあるものに加えて、 個々のexampleファイルを指定することができます。

examplesexampledirs変数が使用されます examplesexampledirsexamples 変数の両方が定義されている場合、QDocは両方を検索します。 exampledirs.

QDoc はexamples 変数にリストされた値を指定された順序で検索し、最初に見つかった値を受け入れます。

広範な例については exampledirsコマンドを参照してください。しかし、ファイルがexamples 変数にリストされていることが分かっていれば、そのパスを指定する必要はないことに注意してください:

\quotefromfile calculator.cpp

exampledirsも参照のこと。

examplesinstallpathも参照してください。

examplesinstallpath 変数は、インストールされたexampleディレクトリの下にあるこのプロジェクトのexamplesのルートパスを設定します。

すべてのサンプルのルート・インストール・パスをQT_INSTALL_EXAMPLES とすると、パス

<QT_INSTALL_EXAMPLES>/<examplesinstallpath>/<example_path>

は、このドキュメンテーションプロジェクト内の単一のサンプルのパスを参照するために使用されます。これらのパスは、Qt Creator によって読み込まれるサンプル・マニフェスト・ファイルに記録されます。

正しいパスを確保するために、examplesinstallpathexampledirs にリストされているディレクトリのいずれかと一致する必要があります。各「example」コマンドの引数として渡されるパスは、「exampledirs」内のパスに対する相対パスです。

例えば

exampledirs = ./snippets \
              ../../../examples/mymodule

examplesinstallpath = mymodule

そして、以下のような㊙コマンドが与えられます:

/*!
    \example basic/hello
    ...
*/

すると、この例のマニフェストファイルにはmymodule/basic/hello というパスが記録されます。

注意: ˶-metaコマンドを使用して、個々の˶-exampleに対して examplesinstallpath を上書きすることができます。

exampledirs, ¦example, ¦metaも参照してください。

examples.ファイル拡張子

examples.fileextensions 変数は、QDoc がドキュメントに表示するサンプル・ファイルを収集する際に探すファイル拡張子を指定します。

デフォルトの拡張子は*.cpp, *.h, *.js, *.xq, *.svg, *.xml, *.uiです。

拡張子は標準的なワイルドカード表現で指定されます。ファイル拡張子は '+=' を使ってフィルターに追加できます。例えば

examples.fileextensions += *.qrc

headers.fileextensions も参照してください。

除外項目

excludedirs 変数は、sourcedirsまたはheaderdirs変数によって同じディレクトリが含まれている場合でも、QDoc によって処理されるべきでないディレクトリをリストするためのものです。

例えば

sourcedirs =  src/corelib
excludedirs = src/corelib/tmp

実行されると、QDocはリストされたディレクトリを今後の検討対象から除外します。これらのディレクトリにあるファイルはQDocによって読み込まれません。

excludefilesも参照してください。

除外ファイル

excludefiles 変数を使用すると、QDoc で処理しないファイルを個別に指定できます。

excludefiles += $QT_CORE_SOURCES/../../src/widgets/kernel/qwidget.h \
                $QT_CORE_SOURCES/../../src/widgets/kernel/qwidget.cpp

qtbaseのqdocconfファイルに上記を含めると、QWidget のクラス・ドキュメントは生成されません。

Qt 5.6 以降、単純なワイルドカード ('*' と '?') もexcludefiles で認識されます。例えば、すべてのプライベートQtヘッダーファイルが解析されないようにするには、次のように定義します:

excludefiles += "*_p.h"

excludedirs も参照してください。

画像外

extraimages 変数は QDoc に生成されるドキュメントに特定の画像を取り込むように指示します。

QDocは自動的にimagedirsから出力ディレクトリに画像ファイルをコピーします。 \imageまたは \inlineimageコマンドで参照されていれば、QDocは自動的にimagedirsから出力ディレクトリに画像ファイルをコピーします。さらに画像をコピーしたい場合は、extraimages 変数を使って指定する必要があります。

一般的な構文は format.extraimages = image.

文脈を考慮した例については、HTML.postheader変数の説明を参照してください。

HTML.extraimages = images/qt-logo.png

imagesと imagedirsも参照。

虚偽

falsehoods 変数は、指定されたプリプロセッサシンボルの真理値を偽と定義する。

この変数の値は正規表現である(詳細はQRegularExpression を参照)。この変数がプリプロセッサシンボルに設定されていない場合、QDocはその真理値を真と見なします。例外は'0'で、これは常に偽である。

QDocは以下のプリプロセッサ構文を認識し、評価することができます:

#ifdef NOTYET
 ...
#endif

#if defined (NOTYET)
 ...
#end if

しかし

#if NOTYET
    ...
#endif

プリプロセッサ・シンボルがfalsehoods 変数エントリーの中で指定されていない限り、QDocはデフォルトでこれをtrueとして評価します:

falsehoods = NOTYET

definesも参照してください。

生成インデックス

generateindex 変数には、HTML文書が生成されるときにインデックスファイルを生成するかどうかを指定するブール値が格納されます。

デフォルトでは、インデックスファイルは常に HTML ドキュメントと一緒に生成されるので、この変数は通常、この機能を無効にする場合 (値をfalse に設定する) か、WebXML 出力のインデックス生成を有効にする場合 (値をtrue に設定する) にのみ使用されます。

ヘッダディレクトリ

headerdirs 変数は、ドキュメントで使用される.cpp ソースファイルに関連するヘッダーファイルを含むディレクトリを指定します。

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/uilib

実行されると、QDocは最初に、変数 headers変数で指定されたヘッダーと、headerdir 変数で指定されたディレクトリ(すべてのサブディレクトリを含む)にあるヘッダーを読み込み、クラスとその関数の内部構造を構築します。

で指定されたソースを読み込みます。 sourcesで指定されたソース、および sourcedirs変数で指定されたディレクトリ(すべてのサブディレクトリを含む)にあるソースを読み、ヘッダーファイルから取得した構造にドキュメントをマージします。

変数headersheaderdirs の両方が定義されている場合、QDoc はその両方を読み込みます。 headers次にheaderdirs

指定されたディレクトリの中で、QDocは変数fileextensions で指定されたファイルだけを読み込みます。 headers.fileextensions変数で指定されたファイルだけを読みます。で指定されたファイルは headersで指定されたファイルはファイル拡張子を考慮せずに読み込まれます。

headersと headers.fileextensionsも参照してください。

ヘッダ

変数headers を使うと、ヘッダーファイルの指定ができます。 headerdirs変数で指定されたディレクトリにあるヘッダーファイルに加えて、 個々のヘッダーファイルを指定することができます。

headers = $QTDIR/src/gui/widgets/qlineedit.h \
          $QTDIR/src/gui/widgets/qpushbutton.h

headers 変数を処理するとき、QDoc は headerdirs変数を処理するときと同じように動作します。詳しくは headerdirs変数を参照してください。

headerdirs も参照してください。

ヘッダーファイル拡張子

headers.fileextensions 変数はヘッダで使われる拡張子を指定します。

変数で指定されたヘッダーファイルを処理するとき headerdirs変数で指定されたヘッダーファイルを処理するとき、QDocはheaders.fileextensions 変数で指定されたfileextensionsを持つファイルだけを読みます。こうすることで、QDocは無関係なファイルの読み込みに時間を費やさずに済む。

デフォルトの拡張子は *.ch, *.h, *.h++, *.hh, *.hpp, *.hxx です。

拡張子は標準的なワイルドカード式で指定される。'+='を使用して、ファイル拡張子をフィルターに追加できます。例えば

header.fileextensions += *.H

警告 上記の代入は説明通りに動作しない場合があります。

headerdirs も参照のこと。

インクルードパス

includepaths 変数は、QDoc がドキュメントのコメント用に C++ コードを解析するときに使う Clang パーサーに、追加のインクルードパスを渡すために使われます。

この変数には、-I (インクルードパス)、-F (macOSフレームワークインクルードパス)、-isystem (システムインクルードパス)をプレフィックスとしたパスのリストを渡すことができます。プレフィックスが省略された場合、デフォルトで-I が使用されます。

現在の .qdocconf ファイルからの相対パスは絶対パスに解決されます。ファイルシステムに存在しないパスは無視されます。

注意: Qt ドキュメントプロジェクトの場合、ビルドシステムは通常、QDoc を起動するときのコマンドライン引数として、必要なインクルードパスを提供します。

moduleheaderも参照してください。

無視語

ignorewords 変数はQDocがハイパーリンクターゲットを解決するときに無視する文字列のリストを指定するために使われます。

QDocには自動リンク機能があり、C++またはQMLエンティティに似た単語に対してリンクが試みられます。具体的には、文字列の長さが3文字以上で、空白文字がなく、かつ次のような場合に自動リンクの対象となります。

  • キャメルケース(camelCase)の単語である。つまり、0以上のインデックスに少なくとも1つの大文字が含まれている。
  • 部分文字列() または:: を含む。
  • 少なくとも1つの特殊文字、@ または_ を含む。

ignorewords に修飾語を追加すると、QDocはその単語を自動的にリンクしなくなります。例えば、OpenGLという単語が有効なリンク・ターゲット(セクショ ン、ページ、または外部ページのタイトル)である場合、各出現箇所に対するハイパーリンクは次のように して回避できます。

ignorewords += OpenGL

による明示的なリンクは、無視された単語に対して機能し続けます。

ignorewords 変数はQDoc 5.14で導入されました。

無視

ignoresince 変数は、"ignoresince"コマンドに渡されるバージョンのカットオフ 値を設定するために使用されます。このカットオフ値より低いバージョンを定義した全ての "ignoresince "コマンドは無視され、出力されません。

カットオフ値はプロジェクト固有です。プロジェクト名はサブ変数として定義できます。デフォルトのプロジェクト名はQt です。例えば

ignoresince      = 5.0
ignoresince.QDoc = 5.0

メジャー・バージョンが4以下で、プロジェクトがQDoc またはundefinedの場合、"undefined "コマンドは無視されます。

\since 3.2          # Ignored
\since 5.2          # Documented (as 'Qt 5.2')
\since QDoc 4.6     # Ignored
\since QtQuick 2.5  # Documented

ignoresince 変数は QDoc 5.15 で導入されました。

参照してください。

imagedirs

imagedirs 変数は、ドキュメントで使用される画像を含むディレクトリを指定します。

変数 imagesimagedirs 変数は、"image "コマンドと "inlineimage "コマンドで使用されます。と imagesimagedirs 変数の両方が定義されている場合、QDoc は両方を検索します。最初に imagesで検索し、次にimagedirs で検索します。

QDocは指定された順序でディレクトリを検索し、最初にマッチしたファイルを受け入れます。QDocは指定されたディレクトリ内のみを検索し、サブディレクトリ内は検索しません

imagedirs = $QTDIR/doc/src/images \
            $QTDIR/examples

images    = $QTDIR/doc/src/images/calculator-example.png

処理中

\image calculator-example.png

QDocは次にimages 変数の値としてリストされているcalculator-example.pngというファイルがあるかどうかを調べます。なければ、imagedirs 変数で検索します:

$QTDIR/doc/src/images/calculator-example.png

ファイルが存在しない場合、QDocは以下のファイルを探します。

$QTDIR/examples/calculator-example.png

というファイルを探します。

language 変数は、ドキュメントで使用されるソース・コードの言語を指定します。具体的に言うと、この変数は \code .\endcodeブロック内のソース・コードを解析する際のデフォルト言語を定義します。

language = Cpp

デフォルトの言語は C++(Cpp)で、明示的に指定する必要はありません。ドキュメント内のコード・スニペットが主にQMLコードで構成されている場合は、 QMLをデフォルトに設定してください:

language = QML

code-command[◆code}も参照してください。

locationinfo

locationinfo boolean変数は、各エンティティの詳細な位置情報を.index-filesと.webxml-filesに書き込むかどうかを決定します(WebXML出力形式を使用する場合)。

位置情報は、ソースコードの宣言またはドキュメント・コメント・ブロックのフル・パスと行番号で構成されます。

これをfalse に設定すると、位置情報がオフになります:

locationinfo = false

デフォルト値はtrue です。

locationinfo 変数はQDoc 5.15で導入されました。

マクロ

macro 変数はあなた自身の簡単なQDocコマンドを作成するために使われます。構文は macro.command = definitionコマンドは文字と数字の組み合わせに限られますが、ダッシュやアンダースコアのような特殊文字は使えません

マクロ変数は1つのタイプの出力生成での使用に制限することができる。例えば、マクロ名に.HTML を付加することで、マクロはHTML出力の生成時にのみ使用される。

macro.key              = "\\b"
macro.raisedaster.HTML = "<sup>*</sup>"

最初のマクロは、引数を太字フォントで表示するために "key "コマンドを定義しています。2番目のマクロは、HTMLを生成するときだけ、上付きアスタリスクを表示するために˶'raisedaster'コマンドを定義します。

マクロは最大7つのパラメータを取ることもできます:

macro.hello            = "Hello \1!"

パラメータは他のコマンドと同じようにマクロに渡されます:

\hello World

複数のパラメータを使用する場合、または引数に空白が含まれる場合は、各引数を中括弧で囲みます:

macro.verinfo          = "\1 (version \2)"
\verinfo {QFooBar} {1.0 beta}

特別なマクロ・オプションmatch を追加して、拡張マクロの正規表現パターン・マッチを追加することができる。

例えば

macro.qtminorversion       = "$QT_VER"
macro.qtminorversion.match = "\\d+\\.(\\d+)"

これは、QT_VER 環境変数に基づいてマイナー・バージョンに展開されるマクロ \qtminorversion を作成します。

マッチパターンを定義するマクロは、すべてのキャプチャグループ(括弧)を連結したものを出力し、パターンにキャプチャグループが含まれていない場合は、マッチした文字列を正確に出力します。

定義済みマクロの詳細については、マクロを参照してください。

マニフェスト・メタ

manifestmeta 変数は、QDoc が生成するサンプル マニフェスト ファイルの追加メタ コンテンツを指定します。

詳細については、「マニフェスト・メタ・コンテンツ」セクションを参照してください。

モジュールヘッダー

moduleheader 変数は、ドキュメント化された C++ モジュールのモジュール・ヘッダーの名前を定義します。

C++ API をドキュメント化するプロジェクトでは、モジュールのすべてのパブリック・クラス、名前空間、ヘッダー・ファイルを含むモジュール・レベルのヘッダーが必要です。QDocのClangパーサーはこのファイルを使用して、ソース・ファイルのパース速度を向上させるために、モジュールのプリコンパイル済みヘッダー(PCH)を構築します。

デフォルトでは、プロジェクト名はモジュールヘッダ名としても使用されます。

project = QtCore

上記のプロジェクト名で、QDocはモジュールヘッダQtCoreをすべての既知のインクルードパスで検索します。最初にコマンドライン引数として渡されたパスを使用し、次にincludepaths変数にリストされたパスを使用します。

モジュール・ヘッダが見つからない場合、QDocは警告を発します。その後、headerdirs変数にリストされたヘッダに基づいて、人工的なモジュールヘッダを構築しようとします。

Qtドキュメンテーションプロジェクトでは、project 変数が正しく設定されていれば、ビルドシステムはモジュールヘッダを見つけるための正しいインクルードパスをQDocに提供します。moduleheader 変数は、QDocが検索するための代替ファイル名を提供します。

プロジェクトにC++ドキュメントが含まれていない場合、moduleheader を空文字列に設定することで、PCHの生成をスキップするようにQDocに指示する必要があります:

# No C++ code to document in this project
moduleheader =

includepathsと projectも参照してください。

自然言語

naturallanguage 変数は QDoc が生成するドキュメントに使われる自然言語を指定します。

naturallanguage = zh-Hans

デフォルトでは、レガシードキュメンテーションとの互換性のため、自然言語はen

QDocはlangxml:lang 属性を使って、生成するHTMLに自然言語情報を追加します。

sourceencodingoutputencodingC.7も参照してください。langとxml:lang属性と ベスト・プラクティス13:HansとHantコードの使用も参照してください。

navigation サブ変数が定義されている場合、各ページの生成されたナビゲーションバーに表示されるホームページ、ランディングページ、C++クラスページ、QMLタイプページを設定します。

複数のサブプロジェクト(例えば、Qtモジュール)があるプロジェクトでは、通常、各サブプロジェクトが独自のランディングページを定義する一方で、すべてのサブプロジェクトで同じホームページが使用されます。

サブ変数

navigation.homepageプロジェクトのホームページ。
navigation.hometitle(オプション) ホームページのユーザーから見えるタイトル。デフォルト値はhomepage
navigation.landingpageサブプロジェクトのランディングページ。
navigation.landingtitle(オプション) ランディングページのユーザーから見えるタイトル。デ フ ォ ル ト 値はlandingpage か ら 取得 し ます。
navigation.cppclassespageこの(サブ)プロジェクトのすべての C++ クラスを一覧表示するトップレベル・ページ。通常は、モジュール・ページのタイトルです。
navigation.cppclassestitle(オプション) C++ クラス・ページのユーザー可視タイトル。デフォルトは "C++ クラス" です。
navigation.qmltypespageこの(サブ)プロジェクトのすべてのQMLタイプをリストするトップレベルページ。一般的に は、"QMLmodule "ページのタイトルです。
navigation.qmltypestitle(オプション) QML タイプ・ページのユーザーから見えるタイトル。デフォルトは "QML Types "です。
navigation.toctitles (QDoc 6.0以降)目次(TOC)として機能するリスト構造を含むページ・タイトル。QDocは、TOCにリストされたページのためのナビゲーション・リンクを生成します。
navigation.toctitles.inclusive (QDoc 6.3以降)true に設定すると、navigation.toctitles にリストされているページもルート・アイテムとしてナビゲーション・バーに表示されます。
navigation.trademarkspage (QDoc 6.8以降)ドキュメントで言及されている商標を文書化したページのタイトル。参照 \tmコマンドも参照してください。

例えば

# 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"

上記の設定は、Item QMLタイプに対して以下のナビゲーション・バーを生成します:

Qt 5.10 > Qt Quick > QML Types > Item QML Type

出力ディレクトリ

outputdir 変数は QDoc が生成されたドキュメントを置くディレクトリを指定します。

outputdir = $QTDIR/doc/html

は、生成されたQtリファレンス・ドキュメントを$QTDIR/doc/htmlに置きます。例えば、QWidget クラスのドキュメントは

$QTDIR/doc/html/qwidget.html

関連する画像はimages サブディレクトリに置かれます。

警告 同じ出力ディレクトリを使ってQDocを複数回実行すると、前回実行したときのファイルはすべて失われます。

出力エンコーディング

outputencoding 変数は QDoc が生成するドキュメントに使用するエンコーディングを指定します。

outputencoding = UTF-8

デフォルトでは、レガシードキュメンテーションとの互換性のために、出力エンコーディングはISO-8859-1 (Latin1) です。一部の言語、特に非ヨーロッパ言語のドキュメントを生成する場合、これでは不十分で、UTF-8のようなエンコーディングが必要になります。

QDocはこのエンコーディングを使ってHTMLをエンコードし、どのエンコーディングが使われているかをブラウザに示すための正しい宣言を生成します。ブラウザに文字エンコーディングと言語情報の完全なセットを提供するために、naturallanguage設定変数も指定する必要があります。

outputencodingと naturallanguageも参照してください。

出力フォーマット

outputformats 変数は、生成されるドキュメントのフォーマットを指定します。

Qt 5.11以降、QDocはHTMLとWebXMLのフォーマットをサポートしています。Qt 5.15以降、DocBookでドキュメントを生成することもできます。Qt 5.15からはDocBookでもドキュメントを生成できるようになりました。outputformats を指定しない場合、QDocはHTML(デフォルトのフォーマット)でドキュメントを生成します。すべての出力形式を指定することができ、専用の出力ディレクトリやその他の設定も可能です。例えば

outputformats = WebXML HTML
WebXML.nosubdirs = true
WebXML.outputsubdir = webxml
WebXML.quotinginformation = true

これはデフォルトの設定で HTML ドキュメントを生成し、出力サブディレクトリwebxml に WebXML ドキュメントを生成します。

出力接頭辞

outputprefixes 変数は、生成されるドキュメントの出力ファイル名の前に付ける 接頭辞とファイルの種類との対応を指定します。

QDocはQML型、C++クラス、名前空間、ヘッダーファイル参照ページのファイル名に出力接頭辞を付加することをサポートしています。

outputprefixes     = QML CPP
outputprefixes.QML = uicomponents-
outputprefixes.CPP = components-

デフォルトでは、QML型のAPIドキュメントを含むファイルのプレフィックスはqml- です。 上記の例では、プレフィックスの代わりにuicomponents- を使用しています。

同様に、C++の型ドキュメントのページには、components- という接頭辞がつきます。デフォルトでは、C++型のページには接頭辞はありません。

出力接頭辞

outputsuffixes 変数は、ファイルの型と、出力ファイル名に現れるモジュール名や型名に適用する接尾辞との対応を指定します。

QDocはモジュールページ、QML型、C++クラス、名前空間、ヘッダーファイル参照ページのファイル名に出力接尾辞をつけることをサポートしています。

デフォルトでは、接尾辞は使用されません。QML出力接尾辞が定義されている場合、QMLタイプおよびQMLモジュールページのファイル名に表示されるモジュール名の接尾辞として適用されます。

C++ 型のファイル名にはモジュール名は含まれません。CPP 出力接尾辞が定義されている場合は、型名の接尾辞として適用されます。

outputsuffixes = QML CPP
{outputsuffixes.QML,outputsuffixes.CPP} = -tp

上記の定義により、QMLモジュール名FooBarとデフォルトの出力接頭辞(qml-) が与えられた場合、QML型FooWidgetの生成ファイル名はqml-foobar-tp-foowidget.html となります。

同様に、C++クラスQFoobarの場合、QDocはqfoobar-tp.html を生成します。

outputsuffixes 変数はQDoc 5.6で導入されました。

qhp

qhp サブ変数は、Qt Help Project (qhp) ファイルに書き出す情報を定義するために使用されます。

この処理については、ヘルプ・プロジェクト・ファイルの作成の章を参照してください。

QDoc 6.6以降、ベース変数qhptrue に設定することは、有効なヘルプ・プロジェクト設定が期待されることを意味します:

qhp = true

そして、プロジェクト構成がqhp.projects を定義していない場合、QDocは警告を発します。これは(Qtのように)トップレベルの.qdocconfファイルを共有するすべてのドキュメントプロジェクトが正しく設定されていることを確認するのに便利です。

警告をオフにするには、この変数をfalse に設定します。

ソースディレクトリ

sourcedirs 変数は、ドキュメントで使用される.cpp または.qdoc ファイルを含むディレクトリを指定します。

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

実行されると、QDocはまず、変数 header変数で指定されたヘッダーと、headerdir 変数で指定されたディレクトリ(すべてのサブディレクトリを含む)にあるヘッダーを読み込み、クラスとその関数の内部構造を構築します。

で指定されたソースを読み込みます。 sources変数で指定されたソースと sourcedirs変数で指定されたディレクトリ(すべてのサブディレクトリを含む)にあるソースを読み、ヘッダーファイルから取得した構造にドキュメントをマージします。

変数sourcessourcedirs の両方が定義されている場合、QDoc はその両方を読み込みます。 sources次にsourcedirs

指定されたディレクトリの中で、QDocは変数fileextensions で指定されたファイルだけを読み込みます。 sources.fileextensions変数で指定されたファイルだけを読みます。で指定されたファイルだけが読み込まれます。 sourcesで指定されたファイルは拡張子に関係なく読み込まれます。

sourcesと sources.fileextensionsも参照してください。

ソースエンコーディング

sourceencoding 変数はソースコードとドキュメントに使われるエンコーディングを指定します。

sourceencoding = UTF-8

デフォルトでは、ソース・エンコーディングはISO-8859-1 (Latin1) です。一部の言語、特に非ヨーロッパ言語では、これでは不十分で、UTF-8のようなエンコーディングが必要です。

QDocはソースファイルやドキュメントファイルの読み込みにエンコーディングを使用しますが、C++コンパイラの制限により、ソースコードのコメントで非ASCII文字を使用できない場合があります。このような場合、APIドキュメントを完全にドキュメント・ファイルに記述することが可能です。

naturallanguageおよびoutputencoding も参照してください。

ソース

sources 変数を使うと、sourcedirs変数で指定されたディレクトリにあるファイルに加えて、 個々のソース・ファイルを指定することができる。

sources = $QTDIR/src/gui/widgets/qlineedit.cpp \
          $QTDIR/src/gui/widgets/qpushbutton.cpp

sources 変数を処理するとき、QDocはsourcedirs変数を処理するときと同じように動作する。詳細については、sourcedirs変数を参照してください。

sourcedirsも参照のこと。

ソース.ファイル拡張子

sources.fileextensions 変数は、ソース ディレクトリ内のファイルをフィルタリングします。

変数 sourcedirs変数で指定されたソース・ファイルを処理するとき、QDoc はsources.fileextensions 変数で指定された fileextensions を持つファイルだけを読み込みます。こうすることで、QDocは無関係なファイルの読み込みに時間を費やさずに済む。

デフォルトの拡張子は*.c++, *.cc, *.cpp, *.cxx, *.mm, *.qml, *.qdocです。

拡張子は標準的なワイルドカード式で指定される。ファイル拡張子は、'+=' を使用してフィルターに追加できます。例えば

sources.fileextensions += *.CC

警告 上記の代入は説明通りに動作しない場合があります。

ソースと ソースも参照してください。

スプリアス

spurious 変数は指定された QDoc 警告を出力から除外します。警告は標準的なワイルドカード表現を使って指定します。

spurious = "Cannot find .*" \
"Missing .*"

はQDocを実行するときに、これらの式のどちらかにマッチする警告が出力の一部にならないようにします。例えば次のような警告は出力から除外されます:

src/opengl/qgl_mac.cpp:156: Missing parameter name

シンタックスハイライト

syntaxhighlighting 変数は、QDocが生成するドキュメントに引用されたソース・コードに対してシンタックス・ハイライトを行うかどうかを指定します。

syntaxhighlighting = true

を指定すると、サポートされているすべてのプログラミング言語のシンタックスハイライトが有効になります。

タブサイズ

tabsize 変数はタブ文字のサイズを定義する。

tabsize = 4

を指定すると、タブ文字は4スペース分の大きさになります。この変数のデフォルト値は8で、指定する必要はない。

タグファイル

tagfile 、HTML生成時に書き込まれるDoxygenタグ・ファイルを指定します。

バージョン

version 変数はドキュメント化されたソフトウェアのバージョン番号を指定します。

version = 5.6.0

バージョン番号が指定された場合(変数 versionまたは versionsym.qdocconf 変数を使用)、バージョン番号が指定された場合、対応する "version "コマンドからその番号にアクセスし、ドキュメントで使用することができます。

警告 注意:versionコマンドの機能はまだ完全には実装されていません。

versionsymも参照してください。

versionsym

versionsym 変数は、ドキュメント化されたソフトウェアのバージョン番号を定義する C++ プリプロセッサ・シンボルを指定する。

versionsym = QT_VERSION_STR

QT_VERSION_STR はqglobal.hで次のように定義されている。

#define QT_VERSION_STR   "5.14.1"

バージョン番号が指定された場合 versionまたは versionsym.qdocconf 変数を使用)、バージョン番号が指定された場合、その番号はドキュメントで使用するために対応する⦅version⦆コマンドからアクセスできます。

警告 注意: 〚version〛コマンドの機能は完全には実装されていません。現在のところ、生のHTMLコード内でのみ動作します。

参照してください。

警告リミット

warninglimit 変数は許容される文書警告の最大数を設定します。この制限を超えた場合、QDocは通常通り処理を続けますが、警告回数をエラーコードとして終了します。制限を超えなかったか、warninglimit が定義されていない場合、QDocプロセスは、他に重大なエラーがなかったと仮定して、0で終了します。

warninglimit0 に設定すると、どのような警告でも失敗を意味する。

注意: デフォルトではQDocは警告の制限を行いません。warninglimit.enabled = true 、または環境変数QDOC_ENABLE_WARNINGLIMIT

例えば

# Fail the documentation build if we have more than 100 warnings
warninglimit = 100
warninglimit.enabled = true

warninglimit 変数は Qt 5.11 で導入されました。

© 2025 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.