QUntypedBindable Class
QUntypedBindableは、任意の型T
のQProperty\<T\>
やQObjectBindableProperty
のようなバインド可能なプロパティに対する統一インターフェースです。詳細...
Header: | #include <QUntypedBindable> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
Since: | Qt 6.0 |
Inherited By: |
パブリック関数
QUntypedBindable() | |
QUntypedBindable(Property *property) | |
QPropertyNotifier | addNotifier(Functor f) |
QUntypedPropertyBinding | binding() const |
bool | hasBinding() const |
(since 6.1) bool | isReadOnly() const |
bool | isValid() const |
QUntypedPropertyBinding | makeBinding(const QPropertyBindingSourceLocation &location = QT_PROPERTY_DEFAULT_BINDING_LOCATION) const |
(since 6.2) QMetaType | metaType() const |
QPropertyChangeHandler<Functor> | onValueChanged(Functor f) const |
bool | setBinding(const QUntypedPropertyBinding &binding) |
QPropertyChangeHandler<Functor> | subscribe(Functor f) const |
(since 6.1) QUntypedPropertyBinding | takeBinding() |
詳細説明
QUntypedBindableはバインド可能なプロパティをラップするための完全に型消去された汎用インターフェイスです。このインターフェイスを使用することで、プロパティの型やバインド可能プロパティの種類を意識することなく、プロパティと対話することができます(例:QProperty やQObjectBindableProperty)。ほとんどの使用例では、QBindable<T>(プロパティの実装の上に汎用的ですが、固定型を持っています)を使用することをお勧めします。
メンバ関数の説明
[constexpr noexcept]
QUntypedBindable::QUntypedBindable()
Default-QUntypedBindableを構築します。これは無効な状態です。
isValid()も参照してください 。
template <typename Property> QUntypedBindable::QUntypedBindable(Property *property)
プロパティproperty からQUntypedBindableを構築します。Property が const の場合、QUntypedBindable は読み取り専用になります。property がNULLの場合、QUntypedBindableは無効となります。
isValid() およびisReadOnly()も参照して ください。
template <typename Functor> QPropertyNotifier QUntypedBindable::addNotifier(Functor f)
f を変更ハンドラとしてインストールします。基になるプロパティが変更されると、返されたQPropertyNotifier
とプロパティが生きている限り、f が呼び出されます。
このメソッドは、返されるオブジェクトがテンプレートではないため、onValueChanged() よりも使いやすい場合があります。そのため、クラスのメンバなどとして、より簡単に格納することができます。
onValueChanged() およびsubscribe()も参照して ください。
QUntypedPropertyBinding QUntypedBindable::binding() const
基礎となるプロパティのバインディングがあればそれを返し、なければデフォルトで構築されたQUntypedPropertyBindingを返します。
setBinding() およびhasBinding() も参照して ください。
bool QUntypedBindable::hasBinding() const
基礎となるプロパティにバインディングがある場合はtrue
を返します。
[since 6.1]
bool QUntypedBindable::isReadOnly() const
QUntypedBindable が読み取り専用の場合はtrueを返します。
この関数は Qt 6.1 で導入されました。
bool QUntypedBindable::isValid() const
QUntypedBindable が有効な場合は true を返します。無効なQUntypedBindable に対して呼び出されたメソッドは、特に断りのない限り、一般的に何の効果も持ちません。
QUntypedPropertyBinding QUntypedBindable::makeBinding(const QPropertyBindingSourceLocation &location = QT_PROPERTY_DEFAULT_BINDING_LOCATION) const
指定したソースlocation を使用して、基礎となるプロパティの値を返すバインディングを作成します。
[since 6.2]
QMetaType QUntypedBindable::metaType() const
QUntypedBindable が作成 さ れたプ ロ パテ ィ の メ タ タ イ プを返 し ます。バ イ ンデ ィ ン グ可能な も のが無効な場合は、 無効な メ タ タ イ プが返 さ れます。
この関数は Qt 6.2 で導入されました。
isValid()も参照してください 。
template <typename Functor> QPropertyChangeHandler<Functor> QUntypedBindable::onValueChanged(Functor f) const
f を変更ハンドラとしてインストールします。基になるプロパティが変更されると、返されたQPropertyChangeHandler
とプロパティが生きている限り、f が呼び出されます。値が変更されるたびに、ハンドラは即座に呼び出されるか、コンテキストに応じて遅延されます。
onValueChanged() およびsubscribe()も参照してください 。
bool QUntypedBindable::setBinding(const QUntypedPropertyBinding &binding)
基礎となるプロパティのバインディングをbinding に設定します。QUntypedBindable が読み取り専用である場合、NULL である場合、またはbinding の型が基礎となるプロパティの型と一致する場合、これは何の効果も持ちません。
バインディングが正常に設定された場合はtrue
を返します。
binding()も参照してください 。
template <typename Functor> QPropertyChangeHandler<Functor> QUntypedBindable::subscribe(Functor f) const
f に続いてonValueChanged(f)
を呼び出すように動作します、
onValueChanged()も参照して ください。
[since 6.1]
QUntypedPropertyBinding QUntypedBindable::takeBinding()
現在設定されているバインディングをプロパティから削除して返します。バインディングが設定されていない場合、デフォルトで構築されたQUntypedPropertyBindingを返します。
この関数はQt 6.1で導入されました。
©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 このドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。