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
を返します。
リセット・メソッドはオプションです。
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 で導入されました。
QMetaType 、typeName()、metaType()も参照してください 。
const char *QMetaProperty::typeName() const
このプロパティの型の名前を返します。
int QMetaProperty::userType() const
このプロパティのユーザ・タイプを返します。返り値は、QMetaType で登録されている値のいずれかです。
これは、metaType().id() と同等です。
type()、QMetaType 、typeName()、および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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。