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)
object のproperty に対して 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
このQQmlListReference とother を比較し、等しい場合はtrue
を返します。この2つが等しいとみなされるのは、一方がコピー代入またはコピー構築によって他方から作成された場合のみです。
注意: 同じオブジェクトへの独立した参照は、等しいとは見なされません。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。