トピックコマンド
トピック・コマンドは、QDoc にどのソース・コード要素を文書化するかを指示します。トピック・コマンドの中には、基本的なソース・コード要素に縛られないドキュメント・ページを作成できるものもあります。
QDoc は QDoc コメントを処理するとき、まずソース・コード要素を指定するトピック・コマンドを探すことによって、コメントをソース・コード内の要素に結び付けようとします。トピック・コマンドがない場合、QDocはコメントの直後にあるソース・コード要素にコメントを接続しようとします。これらのいずれも実行できず、また、コメントに基礎となるソース・コード要素がないことを示すトピック・コマンドもない場合(たとえば \pageなど)、コメントは破棄されます。
ドキュメント化されるエンティティの名前は、通常、トピックコマンドの唯一の引数です。完全な名前を使用してください。引数に 2 番目のパラメータがある場合もあります。例えば \page.
\enum QComboBox::InsertPolicy
コマンドは特別なケースである。 \fnコマンドは特殊なケースである。コマンドの場合は \fnコマンドでは、クラス修飾子を含む関数のシグネチャを使用します。
\fn void QGraphicsWidget::setWindowFlags(Qt::WindowFlags wFlags)
トピック・コマンドはコメント内のどこにでも書くことができますが、独立した行でなければなりません。トピック・コマンドはコメントの最初の行に書くのがよい習慣です。引数が複数行にまたがる場合は、(最後の行を除いて)各行がバックスラッシュで終わっていることを確認してください。さらに、QDocは括弧を数えます。つまり、'('に遭遇した場合、閉じる')までのすべてを引数とみなします。
トピックコマンドが異なる引数で繰り返される場合、両方のユニットに対して同じドキュメントが表示されます。
/*!
\fn void PreviewWindow::setWindowFlags()
\fn void ControllerWindow::setWindowFlags()
Sets the widgets flags using the QWidget::setWindowFlags()
function.
Then runs through the available window flags, creating a text
that contains the names of the flags that matches the flags
parameter, displaying the text in the widgets text editor.
*/PreviewWindow::setWindowFlags() 、ControllerWindow::setWindowFlags() 関数は同じドキュメントを取得します。
トピックコマンドによって生成されるファイルの命名法
のような多くのトピック・コマンドでは \pageQDocはドキュメントを処理するときにファイルを生成します。
QDocはディスクに書き込む前に各ファイルの名前を正規化します。以下の操作が実行されます:
- 英数字以外の文字列はすべてハイフン「-」に置き換えられます。
- 大文字はすべて小文字に置き換えられます。
- 末尾のハイフンはすべて削除される。
たとえば、次のコマンドはthis-generates-a-file-and-writes-it-to-disk.html という名前のファイルを生成する:
\page this_generates_a_file_(and_writes_it_to_DISK)-.html
この例が示すように、コマンドでファイルに与えられた名前は、ディスクに書き込まれる実際のファイルの名前とは異なる場合がある。
生成ファイルの接頭辞と接尾辞
QDocがファイルを生成するとき、ファイルが文書化する要素に応じて、プレフィックス、サフィックス、またはその両方を追加することがあります。
下の表は、さまざまな要素に対する接頭辞と接尾辞を示しています。
| 要素 | 接頭辞 | 接尾辞 | コマンド |
|---|---|---|---|
| QMLモジュール | なし | "-qmlmodule" | \qmlmodule |
| モジュール | なし | "-module" | \module |
| 例 | プロジェクト構成変数で指定されたプロジェクト名の後にハイフンを続ける。 | "-example" | \example |
| QMLタイプ | outputprefixes設定変数で与えられるQMLの出力接頭辞。 この型を含むモジュールがQDocに知られている場合、モジュール名が接頭辞として追加され、その後にoutputsuffixes設定変数で定義されたQML出力接尾辞とハイフンが続きます。 | なし | \qmltype |
\class
\class C++クラス、C/C++構造体、ユニオンを文書化するコマンドです。引数はクラスの完全な修飾名です。このコマンドは、クラスがパブリックAPIの一部であることをQDocに伝え、詳細な説明を入力できるようにします。
/*!
\class QMap::iterator
\inmodule QtCore
\brief The QMap::iterator class provides an STL-style
non-const iterator for QMap and QMultiMap.
QMap features both \l{STL-style iterators} and
\l{Java-style iterators}. The STL-style iterators ...
*/指定されたクラスの HTML ドキュメントは、クラス名を小文字にし、ダブル・コロンの修飾子を '-' に置き換えて命名された.html ファイルに書き込まれます。例えば、QMap::iterator クラスのドキュメントはqmap-iterator.html に書き込まれます。
このファイルには、\class のコメントによるクラスの説明と、すべてのクラス・メンバーの QDoc コメントから生成されたドキュメント(クラスの型、プロパティ、関数、シグナル、スロットのリスト)が含まれます。
クラスの詳細な説明に加えて、\class のコメントには通常 \inmoduleコマンドと \briefの記述も含まれます。以下は非常に単純な例です:
/*!
\class PreviewWindow
\inmodule CustomWidgets
\brief The PreviewWindow class is a custom widget.
displaying the names of its currently set
window flags in a read-only text editor.
\ingroup miscellaneous
The PreviewWindow class inherits QWidget. The widget
displays the names of its window flags set with the \l
{function} {setWindowFlags()} function. It is also
provided with a QPushButton that closes the window.
...
\sa QWidget
*/QDocがこの\class をレンダリングする方法は、あなたのstyle.css ファイルに依存します。
\enum
\enum コマンドはC++の列挙型を文書化するためのものです。引数は列挙型の完全な名前です。
列挙型の値は、\enum のコメントで \valueコマンドを使用します。もしenum値が\value で文書化されていない場合、QDocは警告を発します。これらの警告は \omitvalueコマンドを使ってQDocに列挙値を文書化すべきではないことを伝えます。enumドキュメントは、enum型が定義されているクラス・リファレンス・ページ、ヘッダー・ファイル・ページ、またはネームスペース・ページに含まれます。例えば、Qt 名前空間の enum 型Corner を考えてみましょう:
enum Corner { TopLeftCorner = 0x00000, TopRightCorner = 0x00001, BottomLeftCorner = 0x00002, BottomRightCorner = 0x00003 #if defined(QT3_SUPPORT) && !defined(Q_MOC_RUN) ,TopLeft = TopLeftCorner, TopRight = TopRightCorner, BottomLeft = BottomLeftCorner, BottomRight = BottomRightCorner #endif };
このenumはこのように文書化できます:
/*!
\enum Qt::Corner
This enum type specifies a corner in a rectangle:
\value TopLeftCorner
The top-left corner of the rectangle.
\value TopRightCorner
The top-right corner of the rectangle.
\value BottomLeftCorner
The bottom-left corner of the rectangle.
\value BottomRightCorner
The bottom-right corner of the rectangle.
\omitvalue TopLeft
\omitvalue TopRight
\omitvalue BottomLeft
\omitvalue BottomRight
Bottom-right (omitted; not documented).
*/名前空間修飾子が含まれていることに注意。
また \valueおよび \omitvalue.
\example
\example コマンドはサンプルを文書化するためのものです。引数は、QDoc設定ファイルのexampledirs変数にリストされたパスの1つからの相対パスで、サンプルのパスを指定します。
ドキュメントページはmodulename-path-to-example.htmlに出力されます。QDocはすべての例のソースファイルとイメージファイルのリストをページの最後に追加します。 \noautolistコマンドが使われているか、設定変数url.examplesがプロジェクトに定義されていない限り、QDocはページの最後にすべての例のソースファイルとイメージファイルのリストを追加します。
例えば、exampledirsが $QTDIR/examples/widgets/imageviewer を含んでいる場合、次のようになります。
/*!
\example widgets/imageviewer
\title ImageViewer Example
\subtitle
The example shows how to combine QLabel and QScrollArea
to display an image.
...
*/も参照してください: \noautolisturl.examples、 \meta
\externalpage
\externalpage コマンドは外部URLにタイトルを割り当てます。
/*!
\externalpage http://doc.qt.io/
\title Qt Documentation Site
*/これにより、外部ページへのリンクを文書に含めることができます:
/*!
At the \l {Qt Documentation Site} you can find the latest
documentation for Qt, Qt Creator, the Qt SDK and much more.
*/\externalpage コマンドを使わずに同じ結果を得るには、ドキュメントにアドレスをハードコードする必要があります:
/*!
At the \l {http://doc.qt.io/}{Qt Documentation Site}
you can find the latest documentation for Qt, Qt Creator, the Qt SDK
and much more.
*/\externalpage 。アドレスが変更された場合は、\externalpage コマンドの引数を変更するだけです。
\fn (関数)
\fn コマンドは関数を文書化するためのものです。引数は関数のシグネチャで、テンプレート・パラメータ(もしあれば)、戻り値の型、const-ness、型付き正式引数のリストを含みます。指定された関数が存在しない場合、QDocは警告を発します。
完全な型がQDocによって推測できる場合でも、このコマンドは関数の型としてauto 。特定の状況では、関数の実際の型の代わりにautoを使用することが望ましいかもしれません。\fn-コマンドで戻り値の型としてauto を使用することで、autoキーワードを使わずに定義された型に対しても、作者はこれを明示的に行うことができます。
QDocバージョン6.0から、\fn コマンドは、ヘッダーで明示的に宣言されていないが、コンパイラーによって暗黙的に生成されるクラス・メンバーのドキュメントに使用できるようになりました。デフォルト・コンストラクターとデストラクター、コピー・コンストラクターと移動コピー・コンストラクター、代入演算子、移動代入演算子などです。
隠しフレンドを文書化する場合、関数名の前にクラス名を付ける必要があります。例えば
class Foo { ... friend bool operator==(const Foo&, const Foo&) { ... } ... }
コマンドは"\fn Foo::operator==(const Foo&, const Foo&)" と書くべきで、自由関数"\fn operator==(const Foo&, const Foo&)" とは書かない。
そうしないと、QDocは関数を解決できないと文句を言うでしょう。
注: \fn コマンドはQDocのデフォルト・コマンドです。QDocのコメントでトピック・コマンドが見つからない場合、QDocはあたかも関数のドキュメントであるかのように、ドキュメントを次のコードに結びつけようとします。したがって、関数のQDocコメントが.cpp 、関数の実装のすぐ上に書かれていれば、関数のドキュメントを書くときにこのコマンドを含める必要は通常ありません。しかし、.h ファイルで実装されている.cpp ファイルのインライン関数を文書化する場合は、このコマンドを記述する必要があります。
/*!
\fn bool QToolBar::isAreaAllowed(Qt::ToolBarArea area) const
Returns \c true if this toolbar is dockable in the given
\a area; otherwise returns \c false.
*/注意: デバッグモードで実行する(QDocを起動する前に-debug コマンドラインオプションを渡すか、QDOC_DEBUG 環境変数を設定する)と、QDocが解析に失敗した\fn コマンドのトラブルシューティングに役立ちます。デバッグモードでは、追加の診断情報が利用できます。
また \overload.
\group
\group コマンドは、指定されたグループに属するクラス、ページ、その他のエンティティの一覧を表示する個別のページを作成します。引数はグループ名です。
クラスをグループに含めるには \ingroupコマンドを使用します。概要ページも同じコマンドを使用してグループに関連付けることができますが、概要ページのリストは \generatelistコマンドを使って明示的に要求する必要があります (以下の例を参照)。
\group 。 \titleコマンドとグループの短い紹介文が続きます。グループのHTMLページは<lower-case-group-name>.htmlという名前の.html ファイルに書き込まれる。
グループ内の各エンティティは、(ページタイトルかクラス名を使って)リンクとしてリストされ、その後にエンティティのドキュメントにある \briefコマンドの説明が続きます。
/*!
\group io
\title Input/Output and Networking
*/QDocはグループ・ページio.html を生成します。
グループに関連する概要ページは、明示的に \generatelistコマンドでrelated 。
/*!
\group architecture
\title Architecture
These documents describe aspects of Qt's architecture
and design, including overviews of core Qt features and
technologies.
\generatelist{related}
*/以下も参照のこと。 \ingroup, \annotatedlist, \generatelistおよび \noautolist.
\headerfile
\headerfile コマンドは、名前空間ではなくヘッダーファイルで宣言されているグローバル関数、型、 マクロを文書化するためのものです。引数はヘッダーファイルの名前です。HTMLページは、ヘッダーファイルの引数から構築された.html ファイルに書き込まれます。
ドキュメント化されているヘッダーファイルで宣言されている関数、型、マクロのドキュメントは \relatesコマンドを使ってヘッダーファイルページに含まれる。
引数がヘッダーファイルとして存在しない場合、\headerfile コマンドはヘッダーファイルのドキュメントページを作成します。
/*!
\headerfile <QtAlgorithms>
\title Generic Algorithms
\brief The <QtAlgorithms> header file provides
generic template-based algorithms.
Qt provides a number of global template functions in \c
<QtAlgorithms> that work on containers and perform
well-know algorithms.
*/QDocはヘッダーファイルページ、qtalgorithms.html を生成します。
も参照してください。 \inheaderfile.
\macro
\macro コマンドは、C++マクロを文書化するためのものである。引数は、Q_ASSERT() のような関数型マクロ、Q_PROPERTY() のような宣言型マクロ、Q_OBJECT のような括弧のないマクロの3つのスタイルのうちの1つです。
\macro のコメントには \relatesマクロのコメントをクラス、ヘッダーファイル、またはネームスペースにアタッチするコマンドを含める必要があります。そうしないと、ドキュメントが失われます。
\module
\module は、コマンドの引数で指定されたモジュールに属するクラスを一覧表示するページを作成します。モジュールに含まれるクラスは \inmoduleコマンドを\class 。
\module コマンドの後には通常 \titleと \briefコマンドが続きます。各クラスは、クラスのリファレンス・ページへのリンクの後に、クラスの \briefコマンドのテキストが続きます。例えば
/*!
\module QtNetwork
\title Qt Network Module
\brief Contains classes for writing TCP/IP clients and servers.
The network module provides classes to make network
programming easier and portable. It offers both
high-level classes such as QNetworkAccessManager that
implements application-level protocols, and
lower-level classes such as QTcpSocket, QTcpServer, and
QUdpSocket.
*/例えば \noautolistコマンドを使うと、最後に自動生成されるクラスのリストを省略することができます。
以下も参照してください \inmodule
\namespace
\namespace コマンドは、引数として指定された C++ 名前空間の内容をドキュメント化するためのものです。QDoc が名前空間に対して生成する参照ページは、C++ クラスに対して生成する参照ページと似ています。
/*!
\namespace Qt
\brief Contains miscellaneous identifiers used throughout the Qt library.
*/C++ では、特定の名前空間を複数のモジュールで使用することができますが、異なるモジュールの C++ 要素が同じ名前空間で宣言されている場合、その名前空間自体は 1 つのモジュールでのみドキュメント化する必要があることに注意してください。たとえば、上の例の名前空間 Qt には、QtCore とQtGui の両方の型と関数が含まれていますが、\namespace コマンドを使用してドキュメント化されているのはQtCore だけです。
\page
\page コマンドは、独立したドキュメント・ページを作成するためのものです。
\page コマンドは、QDoc がページを保存するファイル名を表す引数を1つ指定します。
ページのタイトルは \titleコマンドを使って設定します。
/*! \page aboutqt.html \title About Qt Qt is a C++ toolkit for cross-platform GUI application development. Qt provides single-source portability across Microsoft Windows, macOS, Linux, and all major commercial Unix variants. Qt provides application developers with all the functionality needed to build applications with state-of-the-art graphical user interfaces. Qt is fully object-oriented, easily extensible, and allows true component programming. ... */
QDocはこのページをaboutqt.html 。
\property
\property コマンドは Qt プロパティを文書化するためのものです。引数は完全なプロパティ名です。
プロパティはQ_PROPERTY() マクロを使って定義します。このマクロは、プロパティの名前と、set、reset、get 関数を引数にとります。
Q_PROPERTY(QString state READ state WRITE setState)
set、reset、get関数は文書化する必要はなく、プロパティを文書化すれば十分です。QDocは、プロパティのドキュメントに表示されるアクセス関数のリストを生成し、それはプロパティを定義するクラスのドキュメントに配置されます。
\property コマンド・コメントには通常 \briefコマンドが含まれます。プロパティの場合 \briefコマンドの引数は、プロパティの 1 行の説明に含まれる文の断片です。コマンドは \variableコマンドと同じ規則に従います。
/*!
\property QPushButton::flat
\brief Whether the border is disabled.
This property's default is false.
*/\qmlattachedproperty
\qmlattachedproperty コマンドは、あるQMLタイプにアタッチされるQMLプロパティを記述するためのものです。Attached Propertiesを参照してください。引数は行の残りの部分です。引数はプロパティタイプで始まり、プロパティが宣言されている QML タイプ名、:: 修飾子、そして最後にプロパティ名です。
例えば、ListView タイプに対して、isCurrentItem という名前のブーリアン QML アタッチド・プロパティを文書化する場合:
/*!
\qmlattachedproperty bool ListView::isCurrentItem
This attached property is \c true if this delegate is the current
item; otherwise false.
It is attached to each instance of the delegate.
This property may be used to adjust the appearance of the current
item, for example:
\snippet doc/src/snippets/declarative/listview/listview.qml isCurrentItem
*/QDoc はこのアタッチド・プロパティをListView タイプの QML 参照ページに記述します。
注釈 \qmlpropertyと同様、\qmlattachedproperty は QML モジュール識別子を引数の一部として受け取ります。
\qmlattachedsignal
\qmlattachedsignal コマンドはアタッチ可能なシグナルを文書化するためのものです。\qmlattachedsignal コマンドは \qmlsignalコマンドと同じように使います。
引数は行の残りの部分です。引数にはシグナルが宣言されているQMLの型名、:: という修飾子、そして最後にシグナル名を指定します。例えば、GridView 要素にadd() という名前の QMLアタッチドシグナルがある場合、次のように記述します:
/*!
\qmlattachedsignal GridView::add()
This attached signal is emitted immediately after an item is added to the view.
*/QDocでは、このドキュメントをGridView 要素のQML参照ページに記載しています。
注: は \qmlpropertyと同様、\qmlattachedsignal は QML モジュール識別子を引数の一部として受け取ります。
\qmlvaluetype
\qmlvaluetype コマンドはQMLの値型を文書化するためのものです。このコマンドは唯一の引数として型名を取ります。
\qmlvaluetypeコマンドと機能的には同じです。 \qmltypeコマンドと機能的には同じです。唯一の違いは、その型にQMLの値型としてのタイトルが付けられる(そしてグループ化される)ことです。
\qmlclass
このコマンドは非推奨です。代わりに \qmltypeを使ってください。
\qmlenum
\qmlenum コマンドはQMLの列挙型を文書化するためのコマンドです。このコマンドは1つの引数を取ります: 列挙型の完全な名前、親QML型、そしてオプションとしてQMLモジュールです。
列挙子とその説明は \valueコマンドを参照してください。
例えば
/*!
\qmlenum My.Module::Color::Channel
\brief Specifies a color channel in the RGB colorspace.
\value R
Red color channel
\value G
Green color channel
\value B
Blue color channel
*/これは3つの列挙子を持つ列挙子Channelのドキュメントを生成します:デフォルトでは、親となるQMLの型名が列挙子のプレフィックスとして使用されます。
qdoccmd{value}コマンドの第一引数にすでに接頭辞が含まれている場合は、そのまま使用されます:
\value Channel.R
Red color channel
\value Channel.G
Green color channel
\value Channel.B
Blue color channelここでは、Channel.R、Channel.G、Channel.Bとして列挙されています。
また、既存のC++トピックから列挙子のドキュメントを複製することもできます。 \enumトピックから \qmlenumeratorsfromコマンドを使用します。
このコマンドは Qt 6.10 で導入されました。
以下も参照してください \qmlenumeratorsfrom.
\qmlmethod
\qmlmethod コマンドは QML メソッドを文書化するためのものです。引数には、戻り値の型やパラメータの名前と型を含む完全なメソッドシグネチャを指定します。
/*!
\qmlmethod void TextInput::select(int start, int end)
Causes the text from \a start to \a end to be selected.
If either start or end is out of range, the selection is not changed.
After having called this, selectionStart will become the lesser, and
selectionEnd the greater (regardless of the order passed to this method).
\sa selectionStart, selectionEnd
*/QDocでは、このドキュメントをTextInput要素の要素参照ページに記載しています。
\qmltype
\qmltype コマンドはQMLの型を文書化するためのものです。このコマンドの引数は1つで、QML型の名前です。
QML型に同等のC++クラスがある場合は、そのクラスを \nativetypecontextコマンドで指定することができます。
この \inqmlmoduleコマンドはその型が属するQMLモジュールを文書化します。このコマンドに渡される引数は、ドキュメント化された \qmlmoduleページと一致していなければなりません。
/*!
\qmltype Transform
\nativetype QGraphicsTransform
\inqmlmodule QtQuick
\brief Provides a way to build advanced transformations on Items.
The Transform element is a base type which cannot be
instantiated directly.
*/ここでは \qmltypeコメントには \nativetypeを含むことで、TransformがC++のクラスQGraphicsTransform に対応するQMLであることを指定しています。\qmltype 。 \sinceコマンドを含まなければなりません。また \brief記述も含める必要があります。QML型がQML型グループのメンバーである場合、\qmltype 。 \ingroupコマンドを含むべきです。
注: QDocは対応するC++クラスがQML_SINGLETON マクロを使用している場合、自動的にQMLのシングルトン型を検出します。このような型の場合は \qmltypeで十分です。シングルトンであることが自動的に検出され、文書化されるからです。
\qmlsingletontype
\qmlsingletontype コマンドはQMLのシングルトン型を明示的に文書化するためのものです。このコマンドは機能的には \qmltypeと機能は同じですが、C++の実装に関係なく明示的にシングルトンであることを示すものです。
QMLのシングルトン型は、QMLエンジンに1つしかインスタンスが存在しないことを保証します。シングルトンであることは、生成されるドキュメントのタイトルに"(Singleton) "と表示され、説明文が添えられます。
/*!
\qmlsingletontype Settings
\inqmlmodule MyApp
\brief Provides application-wide settings as a singleton.
The Settings type is a singleton that maintains application
configuration. Access it directly without instantiation.
*/QML_SINGLETON マクロを使用する C++ クラスでは、代わりに \qmltypeQDocは自動的にC++コードからシングルトンであることを検出します。
\qmlproperty
\qmlproperty コマンドは QML プロパティを文書化するためのものです。引数は行の残りの部分です。引数のテキストはプロパティタイプ、QMLタイプ名、:: 修飾子、そして最後にプロパティ名です。例えば、Translate という QML タイプの中にx という QML プロパティがあり、そのプロパティのタイプがreal であれば、\qmlproperty は次のようになります:
/*!
\qmlproperty real Translate::x
The translation along the X axis.
*/QDoc はこの QML プロパティをTranslate タイプの QML 参照ページに含めます。
この \defaultコマンドはプロパティのデフォルト値を文書化するために使用されます:
\qmlproperty real AxisHelper::gridOpacity \default 0.5
QML プロパティが C++ enum を公開している場合、QML プロパティはenumeration 型で定義されます:
\qmlproperty enumeration ParticleShape3D::ShapeType
列挙型を持つプロパティやフラグのビット単位の組み合わせを保持するプロパティは \valueコマンドを使うことができます。
\qmlproperty enumeration Buffer::textureFilterOperation Specifies the texture filtering mode... \value Buffer.Nearest Use nearest-neighbor filtering.
QDocはQMLモジュール識別子を含む完全修飾されたプロパティ名も受け付けます:
\qmlproperty bool QtQuick.Controls::Button::highlighted
モジュール識別子(上記ではQtQuick.Controls )が指定された場合は、関連する ドキュメントの \inqmlmodule\qmltype コマンドに渡された値と一致しなければなりません。プロパティが属するQMLタイプの名前が、ドキュメンテーション・プロジェクト内のすべてのタイプで一意である場合、モジュール識別子は省略することができます。
\qmlsignal
\qmlsignal コマンドはQMLシグナルを文書化するためのコマンドです。引数は行の残りの部分です。引数はシグナルが宣言されているQMLの型、:: 修飾子、そして最後にシグナル名です。clicked() というQMLシグナルがあるとすると、そのドキュメントは次のようになります:
/*!
\qmlsignal MouseArea::clicked(MouseEvent mouse)
This signal is emitted when there is a click. A click is defined as a
press followed by a release, both inside the MouseArea.
*/QDocはこのドキュメントをMouseArea 型のQMLリファレンスページに含んでいます。
注: は、QMLモジュール識別子として \qmlpropertyと同様、\qmlsignal はQMLモジュール識別子を引数の一部として受け取ります。
\qmlmodule
QML モジュールページを作成するには\qmlmodule コマンドを使います。QMLモジュールページとは、QMLの型や関連する資料を集めたものです。このコマンドはオプションで<VERSION> 番号の引数をとり、group-command と似ています。
QMLタイプはモジュールに関連付けられます。 \inqmlmoduleコマンドを追加することでモジュールと関連付けられます。モジュール名と2つのコロン(::)の接頭辞を使って、QMLモジュールのどのメンバーにもリンクすることができます。
/*!
A link to the TabWidget of the UI Component is \l {UIComponent::TabWidget}.
*/QDocはモジュールの全メンバーを列挙したページを生成します。
/*!
\qmlmodule ClickableComponents
This is a list of the Clickable Components set. A Clickable component
responds to a \c clicked() event.
*/\inqmlmodule
QMLの型はトピックの中に\inqmlmodule 。 \qmltypeトピックに挿入します。このコマンドはモジュール(インポート)名(バージョン番号なし)を唯一の引数としてとります。
QMLモジュール名は(\qmlmoduleコマンド)で文書化されたQMLモジュールと一致していなければなりません。
/*!
\qmltype ClickableButton
\inqmlmodule ClickableComponents
A clickable button that responds to the \c click() event.
*/QDocはQML型リファレンスページの一番上の表にImport文:import <qmlmodule>という行を出力します。
QMLタイプにリンクする場合、リンク先にQMLモジュールの識別子が表示されることがあります。例えば
\l {ClickableComponents::}{ClickableButton}ClickableButtonをリンクテキストとして、タイプ参照ページへのリンク。
\instantiates
\instantiates コマンドは Qt 6.8 以降では非推奨です。代わりに \nativetypeを使用してください。
\nativetype
\nativetype-コマンドは \qmltypeコマンドを併用しなければならない。このコマンドは引数としてC++クラスを取ります。QDocがC++クラスを見つけられない場合、警告が表示されます。このコマンドは Qt 6.8 で導入されました。
型がC++で何と呼ばれているかを指定するには、\nativetype-コマンドを使用してください。これにより、QML型のドキュメントに生成されるrequisitesブロックに "In C++"の項目が含まれるようになります。C++のクラスには対応する "In QML "の項目があります。
つのQML型は1つのネイティブ型しか持つことができません。QDocは再定義を行うと警告を発します。しかし、複数のQML型は同じC++クラスをネイティブ型として持つことができます。C++クラスのドキュメントには、QMLの対応するすべての型のリストが記載されます。
/*!
\qmltype Transform
\nativetype QGraphicsTransform
\inqmlmodule QtQuick
\brief Provides a way to build advanced transformations on Items.
The Transform element is a base type which cannot be
instantiated directly.
*/ここでは \qmltypeトピックには \nativetypeを指定することで、C++ではTransformをQGraphicsTransform 。
\typealias
\typealias コマンドは \typedefと似ていますが、C++の型エイリアスを文書化する場合に特化されています:
class Foo { public: using ptr = void*; // ... }
これは
/*!
\typealias Foo::ptr
*/\typealias コマンドはQDoc 5.15で導入された。
以下も参照してください \typedef.
\typedef
\typedef コマンドはC++のtypedefを文書化するためのものである。引数は typedef の名前です。typedef のドキュメントは、その typedef が宣言されているクラス、ネームスペース、またはヘッダーファイルの参照ドキュメントに含まれます。\typedef 、クラス、名前空間、ヘッダー・ファイルに関連付けるには、\typedef のコメントに \relatesコマンドが含まれていなければならない。
/*!
\typedef QObjectList
\relates QObject
Synonym for QList<QObject>.
*/他の型定義は、それを定義しているクラスのリファレンス・ページにある。
/*!
\typedef QList::Iterator
Qt-style synonym for QList::iterator.
*/以下も参照のこと。 \typealias.
\variable
\variable コマンドは、クラスのメンバ変数や定数を文書化するためのものです。引数は変数名または定数名です。\variable コマンドのコメントには \briefコマンドが含まれます。QDocは\brief コマンドのテキストに基づいてドキュメントを生成します。
ドキュメントは、関連するクラス、ヘッダーファイル、またはネームスペースのドキュメントに配置されます。
メンバ変数の場合:
/*!
\variable QStyleOption::palette
\brief The palette that should be used when painting
the control
*/\variable コマンドで定数をドキュメント化することもできます。例えば、QTreeWidgetItem クラスにType とUserType 定数があるとします:
enum { Type = 0, UserType = 1000 };
この場合、\variable コマンドはこのように使うことができます:
/*!
\variable QTreeWidgetItem::Type
The default type for tree widget items.
\sa UserType, type()
*//*!
\variable QTreeWidgetItem::UserType
The minimum value for custom types. Values below
UserType are reserved by Qt.
\sa Type, type()
*/© 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.