QMetaProperty Class

QMetaPropertyクラスは、プロパティに関するメタデータを提供します。詳細...

Header: #include <QMetaProperty>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

パブリック関数

(since 6.0) QUntypedBindable bindable(QObject *object) const
QMetaEnum enumerator() const
bool hasNotifySignal() const
(since 6.0) bool isBindable() const
bool isConstant() const
bool isDesignable() const
bool isEnumType() const
bool isFinal() const
bool isFlagType() const
bool isReadable() const
bool isRequired() const
bool isResettable() const
bool isScriptable() const
bool isStored() const
bool isUser() const
bool isValid() const
bool isWritable() const
(since 6.0) QMetaType metaType() const
const char *name() const
QMetaMethod notifySignal() const
int notifySignalIndex() const
int propertyIndex() const
QVariant read(const QObject *object) const
QVariant readOnGadget(const void *gadget) const
int relativePropertyIndex() const
bool reset(QObject *object) const
bool resetOnGadget(void *gadget) const
int revision() const
(since 6.0) int typeId() const
const char *typeName() const
int userType() const
bool write(QObject *object, const QVariant &value) const
(since 6.6) bool write(QObject *object, QVariant &&v) const
bool writeOnGadget(void *gadget, const QVariant &value) const
(since 6.6) bool writeOnGadget(void *gadget, QVariant &&value) const

詳細説明

プロパティのメタデータは、オブジェクトのメタオブジェクトから取得します。詳細はQMetaObject::property() とQMetaObject::propertyCount() を参照。

プロパティのメタデータ

プロパティには、name ()、type()、およびその動作を指定するさまざまな属性(isReadable ()、isWritable ()、isDesignable ()、isScriptable ()、revision ()、isStored ()があります。

プロパティが列挙型の場合、isEnumType() は、true を返す。プロパティがフラグでもある列挙型(すなわち、OR演算子を使って値を組み合わせることができる)の場合、isEnumType() とisFlagType() は、どちらも真を返す。これらの型の列挙子は、enumerator()から利用できる。

プロパティの値の設定や取得は、read()、write()、reset()で行います。QObject のset関数やget関数で変更することもできます。詳細はQObject::setProperty() およびQObject::property() を参照。

コピーと代入

QMetaPropertyオブジェクトは値によってコピーすることができます。ただし、各コピーは同じプロパティのメタデータを参照します。

QMetaObject,QMetaEnum,QMetaMethod,Qt's Property Systemも参照してください

メンバー関数 ドキュメント

[since 6.0] QUntypedBindable QMetaProperty::bindable(QObject *object) const

与えられたobject のプロパティのバインド可能なインターフェイスを返します。

プロパティがバインディングをサポートしていない場合、返されるインターフェイスは無効です。

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

QObjectBindableProperty,QProperty,isBindable()も参照してください

QMetaEnum QMetaProperty::enumerator() const

このプロパティの型が列挙子型の場合は列挙子を返し、そうでない場合は戻り値は未定義です。

isEnumType() およびisFlagType() も参照

bool QMetaProperty::hasNotifySignal() const

このプロパティに対応する変更通知シグナルがある場合はtrue を返し、ない場合はfalse を返します。

notifySignal()も参照

[since 6.0] bool QMetaProperty::isBindable() const

Q_PROPERTY() がバインディング機能を公開している場合はtrue を返し、そうでない場合は false を返します。

これは、このプロパティを依存として使用するバインディングを作成したり、QPropertyObserver オブジェクトをこのプロパティにインストールできることを意味します。プロパティが読み取り専用でない限り、このプロパティにバインディングを設定することもできます。

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

QProperty,isWritable(),bindable()も参照してください

bool QMetaProperty::isConstant() const

プロパティが定数であればtrue を返し、そうでなければfalse を返します。

Q_PROPERTY()CONSTANT 属性が設定されている場合、プロパティは定数です。

bool QMetaProperty::isDesignable() const

Q_PROPERTY()'のDESIGNABLE 属性が false の場合はfalse を返し、そうでない場合はtrue を返す。

isScriptable() およびisStored()も参照

bool QMetaProperty::isEnumType() const

プロパティの型が列挙値の場合はtrue を返し、それ以外の場合はfalse を返します。

enumerator() およびisFlagType() も参照して ください。

bool QMetaProperty::isFinal() const

プロパティが final の場合はtrue を返し、そうでない場合はfalse を返します。

Q_PROPERTY()FINAL 属性が設定されている場合、プロパティは final です。

bool QMetaProperty::isFlagType() const

プロパティの型がフラグとして使用される列挙値の場合はtrue を返し、そうでない場合はfalse を返す。

フラグは OR 演算子を使って組み合わせることができます。フラグ型は暗黙的に列挙型でもあります。

isEnumType()、enumerator()、QMetaEnum::isFlag()も参照

bool QMetaProperty::isReadable() const

このプロパティが読み取り可能な場合はtrue を返し、そうでない場合はfalse を返す。

isWritable()、read()、およびisValid() も参照

bool QMetaProperty::isRequired() const

プロパティが必須である場合はtrue を返し、そうでない場合はfalse を返す。

Q_PROPERTY()REQUIRED 属性が設定されている場合、プロパティは確定となります。

bool QMetaProperty::isResettable() const

このプロパティをデフォルト値にリセットできる場合はtrue を返し、そうでない場合はfalse を返す。

reset()も参照

bool QMetaProperty::isScriptable() const

Q_PROPERTY()'のSCRIPTABLE 属性が false の場合はfalse を返し、それ以外の場合は true を返す。

isDesignable() およびisStored() も参照

bool QMetaProperty::isStored() const

プロパティが格納されている場合はtrue を返し、そうでない場合は false を返します。

この関数は、Q_PROPERTY()'のSTORED 属性が false の場合はfalse を返し、そうでない場合は true を返します。

isDesignable() およびisScriptable()も参照

bool QMetaProperty::isUser() const

Q_PROPERTY()'のUSER 属性が偽の場合、false を返す。そうでない場合は真を返し、そのプロパティがUSER プロパティとして指定されていること、つまり、ユーザが編集できるプロパティであること、または他の何らかの方法で重要なプロパティであることを示します。

QMetaObject::userProperty()、isDesignable()、およびisScriptable()も参照して ください。

bool QMetaProperty::isValid() const

このプロパティが有効(読み取り可能)な場合はtrue を返し、そうでない場合はfalse を返す。

isReadable()も参照

bool QMetaProperty::isWritable() const

このプロパティが書き込み可能である場合はtrue を返し、そうでない場合は false を返します。

isReadable() およびwrite() も参照

[since 6.0] QMetaType QMetaProperty::metaType() const

このプロパティのQMetaType を返します。

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

QMetaTypeも参照して ください。

const char *QMetaProperty::name() const

このプロパティの名前を返します。

type() およびtypeName() も参照して ください。

QMetaMethod QMetaProperty::notifySignal() const

QMetaMethod プロパティ変更通知シグナルのインスタンスが指定されていればそれを返し、そうでなければ無効なQMetaMethod を返します。

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

int QMetaProperty::notifySignalIndex() const

プロパティ変更通知シグナルのインデックスが指定されていた場合はそのインデックスを返し、そうでない場合は -1 を返します。

hasNotifySignal() も参照

int QMetaProperty::propertyIndex() const

このプロパティのインデックスを返します。

QVariant QMetaProperty::read(const QObject *object) const

与えられたobject からプロパティの値を読み取ります。値を読み取れた場合はその値を返し、そうでない場合は無効なバリアントを返します。

write()、reset()、およびisReadable()も参照

QVariant QMetaProperty::readOnGadget(const void *gadget) const

与えられたgadget からプロパティの値を読み込みます。読み取れた場合はその値を返し、そうでない場合は無効なバリアントを返します。

この関数は、このプロパティがQ_GADGET

int QMetaProperty::relativePropertyIndex() const

このプロパティの、囲んでいるメタオブジェクト内での相対インデックスを返す。

bool QMetaProperty::reset(QObject *object) const

与えられたobject のプロパティを reset メソッドでリセットします。リセットが成功した場合はtrue を返し、失敗した場合はfalse を返します。

リセット・メソッドはオプションです。

read() およびwrite()も参照してください

bool QMetaProperty::resetOnGadget(void *gadget) const

指定されたgadget のプロパティをリセット・メソッドでリセットします。リセットが成功した場合はtrue を返し、失敗した場合はfalse を返します。

リセット・メソッドはオプションで、一部のプロパティのみが対応しています。

のプロパティである場合にのみ、この関数を使用する必要があります。Q_GADGET

int QMetaProperty::revision() const

REVISION によってプロパティのリビジョンが指定されていればそれを返し、そうでなければ 0 を返します。

[since 6.0] int QMetaProperty::typeId() const

プロパティの格納タイプを返します。これはmetaType().id() と同じです。

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

QMetaTypetypeName()、metaType()も参照してください

const char *QMetaProperty::typeName() const

このプロパティの型の名前を返します。

type() およびname() も参照して ください。

int QMetaProperty::userType() const

このプロパティのユーザ・タイプを返します。返り値は、QMetaType で登録されている値のいずれかです。

これは、metaType().id() と同等です。

type()、QMetaTypetypeName()、およびmetaType()も参照して ください。

bool QMetaProperty::write(QObject *object, const QVariant &value) const

指定されたobject に、プロパティの値としてvalue を書き込みます。書き込みに成功した場合は true を返し、失敗した場合はfalse を返します。

value がプロパティと同じ型でない場合は、変換が試みられます。空の QVariant() は、このプロパティがリセット可能な場合はreset() を呼び出すのと同じであり、そうでない場合はデフォルトで構 成されたオブジェクトを設定します。

注意: この関数は、内部的にvalue のコピーを作成します。 可能な場合は、rvalue オーバーロードを使用することをお勧めします。

read()、reset()、isWritable()も参照

[since 6.6] bool QMetaProperty::write(QObject *object, QVariant &&v) const

これはオーバーロードされた関数です。

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

bool QMetaProperty::writeOnGadget(void *gadget, const QVariant &value) const

与えられたgadget に、プロパティの値としてvalue を書き込みます。書き込みに成功した場合は true を返し、失敗した場合はfalse を返します。

のプロパティである場合にのみ、この関数を使用する必要があります。Q_GADGET

[since 6.6] bool QMetaProperty::writeOnGadget(void *gadget, QVariant &&value) const

これはオーバーロードされた関数です。

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

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