項目の関連付け
関連付けコマンドは、あるドキュメント要素が別のドキュメント要素とどのように関連しているかを指定するためのものです。例をいくつか挙げます:
- この関数は、別の関数のオーバーロードです。
- この関数は、別の関数の再実装です。
- このtypedefは、あるクラスまたはヘッダーファイルに関連しています。
また、ある QML 型が別の QML 型を継承していることを文書化するためのコマンドもあります。
コマンド
\inherits
\inherits コマンドは、あるQML型が別のQML型を継承していることをドキュメント化するためのものです。このコマンドは、継承元の要素の \qmltype コメント内に記述する必要があります。引数には、継承元のQML型の名前を指定し、必要に応じてQMLモジュール名を付加します。
/*!
\qmltype PauseAnimation
\inqmlmodule QtQuick
\nativetype QDeclarativePauseAnimation
\ingroup qml-animation-transition
\since 4.7
\inherits Animation
\brief The PauseAnimation element provides a pause for an animation.
When used in a SequentialAnimation, PauseAnimation is a step
when nothing happens, for a specified duration.
A 500ms animation sequence, with a 100ms pause between two animations:
SequentialAnimation {
NumberAnimation { ... duration: 200 }
PauseAnimation { duration: 100 }
NumberAnimation { ... duration: 200 }
}
\sa {QML Animation and Transitions}, {declarative/animation/basics}{Animation basics example}
*/QDoc は、PauseAnimation 要素のリファレンスページに次の行を記載しています:
継承元Animation
.qml ファイル内で QML 型を直接記述する場合、QDoc は QML 構文から基底型を検出できるため、通常は `\inherits ` コマンドは必要ありません。ただし、\inherits ` コマンドが指定されている場合、この自動的な基底型の検出は上書きされます。
\overload
C++の関数オーバーロードをマークするには、 \overload コマンドを使用して、C++の関数オーバーロードをマークします。このコマンドは、ドキュメントコメント内で単独の行に記述する必要があります。
仕組み
異なるパラメータで同様の処理を行う、同じ名前の C++ 関数が複数ある場合(オーバーロード)、 \overload を使用することで、ドキュメントの重複を回避できます。 \overload には完全なドキュメントが必要です。 \overload を指定した関数については、具体的な違いに焦点を当てることができます。
でマークされた関数は、 \overload でマークされた関数は、メイン関数のドキュメントを参照するため、パラメータの欠落に関する警告を自動的に抑制します。
基本的な使い方
/*!
\overload
Brief description of what makes this overload different.
*/メイン関数へのリンク
メイン関数へのリンクを作成するには、関数名を追加します:
/*!
\overload functionName()
Brief description of what makes this overload different.
*/修飾名(ClassName::functionName() )または未修飾名(functionName() )のいずれかを使用してください。QDocは、現在のクラスまたは名前空間を使用して、未修飾名を自動的に修飾します。
注: 歴史的な理由により 、functionName() のような引数なしの非修飾名は、必ずしも引数なしのオーバーロードではなく、プライマリオーバーロードへのリンクを表す省略形として機能します。 QDoc は検索アルゴリズムを使用して、リンクする「最適な」オーバーロードを見つけます。特定のパラメータなしの関数にリンクするには、\overload primary を使用してそれをプライマリオーバーロードとして指定するか、空のパラメータリストを明示的に指定した完全修飾シグネチャを使用してください。
プライマリオーバーロードの指定
デフォルトでは、QDoc はプライマリオーバーロードを自動的に選択します。どのオーバーロードをプライマリとするかを明示的に指定するには、次のようにします:
/*!
\overload primary
Main documentation for this function family.
Document all parameters here.
*/プライマリ・オーバーロード:
- メイン関数のドキュメントを含めます。
- パラメータに関する完全なドキュメントを記載すること。
- 「この関数は...をオーバーロードしています」というテキストは表示しないでください。
- 他のオーバーロードへのリンク先として機能する。
最も重要なオーバーロードがQDocによる自動選択と異なる場合、または一貫したリンク動作が必要な場合は、主に\overload を使用してください。
\reimp
\reimp コマンドは、追加のドキュメントを必要とせずに、関数が仮想関数の再実装であることを示すためのものです。
デフォルトでは、QDocは、ドキュメント化されていない限り、再実装された仮想関数をクラスリファレンスから除外します。このコマンドを使用することで、本来ならドキュメント化されない関数も確実にリファレンスに含まれるようになります。
このコマンドは、単独の行に記述する必要があります。
/*!
\reimp
*/
void QToolButton::nextCheckState()
{
Q_D(QToolButton);
if (!d->defaultAction)
QAbstractButton::nextCheckState();
else
d->defaultAction->trigger();
}この関数はドキュメントには含まれません。その代わりに、基底関数QAbstractButton::nextCheckState()へのリンクがドキュメントに表示されます。
\relates
\relates コマンドは、エンティティ(関数、マクロ、typedef、enum、または変数)のドキュメントを、クラス、名前空間、またはヘッダーファイルに組み込むためのものです。引数には、そのエンティティに関連するクラス、名前空間、またはヘッダーの名前を指定します。
引数がテンプレート型を参照する場合は、型名のみ(テンプレートパラメータを除いたもの)を使用してください。
/*!
\relates QChar
Reads a char from the stream \a in into char \a chr.
\sa {Format of the QDataStream operators}
*/
QDataStream &operator>>(QDataStream &in, QChar &chr)
{
quint16 u;
in >> u;
chr.unicode() = ushort(u);
return in;
}この関数のドキュメントは、クラス `QChar` のリファレンスページにある「関連する非メンバー」セクションに記載されています。
注: QDocが ドキュメント内の修飾されていない関数名や型名を解決する際 、そのドキュメントが表示されているページのコンテキストを検索します。\relates を使用すると、ドキュメントが別のクラスのページに移動されるため、元のコンテキストでは機能していた自動リンクが解決されなくなる場合があります。元のクラスのメンバへの相互参照には、完全修飾名を使用するか、明示的な `\l ` コマンドを使用してください。
© 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.