QQmlListReference Class

QQmlListReference クラスは、QQmlListProperty プロパティの操作を可能にします。詳細...

Header: #include <QQmlListReference>
CMake: find_package(Qt6 REQUIRED COMPONENTS Qml)
target_link_libraries(mytarget PRIVATE Qt6::Qml)
qmake: QT += qml

パブリック関数

QQmlListReference()
(since 6.1) QQmlListReference(const QVariant &variant)
QQmlListReference(QObject *object, const char *property)
bool append(QObject *object) const
QObject *at(qsizetype index) const
bool canAppend() const
bool canAt() const
bool canClear() const
bool canCount() const
bool canRemoveLast() const
bool canReplace() const
bool clear() const
qsizetype count() const
bool isManipulable() const
bool isReadable() const
bool isValid() const
const QMetaObject *listElementType() const
QObject *object() const
bool removeLast() const
bool replace(qsizetype index, QObject *object) const
(since 6.2) qsizetype size() const
bool operator==(const QQmlListReference &other) const

詳細説明

QQmlListReference は、C++ プログラムが QML リストプロパティから値を読み込んだり、値を代入したりすることを、シンプルかつ型安全な方法で可能にします。QQmlListReference は、オブジェクトとプロパティ名を渡すか、QQmlProperty インスタンスを通して作成することができます。この2つは等価です:

QQmlListReference ref1(object, "children");

QQmlProperty ref2(object, "children");
QQmlListReference ref2 = qvariant_cast<QQmlListReference>(ref2.read());

すべての QML リストプロパティがすべての操作をサポートしているわけではありません。canAppend(),canAt(),canClear(),canCount() といったメソッドがあり、 プログラムは指定されたプロパティの操作の可否を問い合わせることができます。

QMLのリストプロパティは型安全です。正しい基底クラスから派生したQObject'のみをリストに割り当てることができます。listElementType QMetaObject () メソッドを使って、QObject の型がサポートされているかどうかを問い合わせることができます。正しくない型のオブジェクトをリスト・プロパティに追加しようとすると失敗します。

通常のリストと同様に、インデックスでリスト要素にアクセスする場合、at() を呼び出す前にcount() メソッドで範囲外の要素を要求しないようにするのは、呼び出し側の責任です。

メンバ関数ドキュメント

QQmlListReference::QQmlListReference()

無効なインスタンスを構築します。

[explicit, since 6.1] QQmlListReference::QQmlListReference(const QVariant &variant)

QQmlListProperty を含むQVariant variant から QQmlListReference を構築します。variant にリスト・プロパティが含まれていない場合、無効な QQmlListReference が生成されます。リスト・プロパティを所有するオブジェクトが、参照が構築された後に破壊された場合、それは自動的に無効になります。つまり、オブジェクトが削除された後でもQQmlListReferenceインスタンスを保持することは安全です。

この関数は Qt 6.1 で導入されました。

QQmlListReference::QQmlListReference(QObject *object, const char *property)

objectproperty に対して QQmlListReference を構築します。property がリストプロパティでない場合、無効な QQmlListReference が作成されます。参照が構築された後にobject が破棄されると、自動的に無効となります。つまり、object が削除された後でも QQmlListReference のインスタンスを保持することは安全です。

bool QQmlListReference::append(QObject *object) const

object をリストに追加する。成功すればtrueを返し、失敗すればfalseを返します。

canAppend()も参照してください

QObject *QQmlListReference::at(qsizetype index) const

index のリスト要素、または操作に失敗した場合は 0 を返します。

canAt()も参照して ください。

bool QQmlListReference::canAppend() const

戻り値:リスト・プロパティに追加できる場合は真を、そうでない場合は偽を返します。参照が無効な場合は false を返します。

append() も参照して ください。

bool QQmlListReference::canAt() const

この関数は、リスト・プロパティをインデックスで照会できる場合に true を、それ以外の場合に false を返します。参照が無効な場合は false を返します。

at() も参照して ください。

bool QQmlListReference::canClear() const

戻り値:リスト・プロパティをクリアできる場合は真を、そうでない場合は偽を返します。参照が無効な場合は false を返します。

clear() も参照して ください。

bool QQmlListReference::canCount() const

戻り値:リスト・プロパティの要素数を照会できる場合は真を、そうでない場合は偽を返します。参照が無効な場合は false を返します。

count() も参照して ください。

bool QQmlListReference::canRemoveLast() const

戻り値:リスト・プロパティから最後の項目を削除できる場合は真を、そうでない場合は偽を返します。参照が無効な場合は false を返します。

removeLast() も参照して ください。

bool QQmlListReference::canReplace() const

戻り値:リスト・プロパティの項目を置換できる場合は真を、そうでない場合は偽を返します。参照が無効な場合は false を返します。

replace() も参照して ください。

bool QQmlListReference::clear() const

Clears] リストを消去します。操作が成功した場合は true を返し、失敗した場合は false を返します。

canClear() も参照して ください。

qsizetype QQmlListReference::count() const

リスト内のオブジェクトの数を返します。操作に失敗した場合は 0 を返します。

bool QQmlListReference::isManipulable() const

at()、count()、append()、およびclear() またはremoveLast() が実装されている場合は true を返す。

replace() とremoveLast() は、すべての項目をためて、clear() とappend() を使ってリストを再構築することでエミュレートできる。したがって、リストを操作できるようにするために、これらは必須ではありません。さらに、clear()は、removeLast()を使ってエミュレートできる。

isReadable()、at()、count()、append()、clear()、replace()、removeLast()も参照

bool QQmlListReference::isReadable() const

at() およびcount() が実装されており、要素にアクセスできる場合は true を返す。

isManipulable()、at()、count()も参照

bool QQmlListReference::isValid() const

インスタンスが有効なリスト・プロパティを参照している場合は true を返し、そうでない場合は false を返します。

const QMetaObject *QQmlListReference::listElementType() const

リスト・プロパティに格納されている要素のQMetaObject を返し、参照が無効な場合はnullptr を返します。

QMetaObject は、与えられたインスタンスがリストに追加できるかどうかを判断するために、前もって使用することができます。構築時にエンジンを渡さなかった場合、nullptrを返すことがあります。

QObject *QQmlListReference::object() const

リスト・プロパティのオブジェクトを返します。参照が無効な場合はnullptr を返します。

bool QQmlListReference::removeLast() const

削除] リストの最後の項目を削除します。操作が成功した場合は true を返し、失敗した場合は false を返します。

canRemoveLast()も参照してください

bool QQmlListReference::replace(qsizetype index, QObject *object) const

object 。リストのindex の項目を で置き換えます。操作が成功した場合は true を返し、失敗した場合は false を返します。

canReplace()も参照して ください。

[since 6.2] qsizetype QQmlListReference::size() const

リスト内のオブジェクトの数を返し、操作が失敗した場合は 0 を返します。

この関数は Qt 6.2 で導入されました。

bool QQmlListReference::operator==(const QQmlListReference &other) const

このQQmlListReferenceother を比較し、等しい場合はtrue を返します。この2つが等しいとみなされるのは、一方がコピー代入またはコピー構築によって他方から作成された場合のみです。

注意: 同じオブジェクトへの独立した参照は、等しいとは見なされません。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。