Класс QProperty
шаблон <typename T> класс QPropertyКласс QProperty — это шаблонный класс, который позволяет осуществлять автоматическое связывание свойств. Подробнее...
| Заголовок: | #include <QProperty> |
| CMake: | find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| С момента: | Qt 6.0 |
| Наследует: | QPropertyData |
Открытые функции
| QProperty(T &&initialValue) | |
| QProperty(const T &initialValue) | |
| QProperty(Functor &&f) | |
| QProperty(const QPropertyBinding<T> &binding) | |
| QProperty() | |
| QProperty<T> & | operator=(const QPropertyBinding<T> &newBinding) |
| ~QProperty() | |
| QPropertyBinding<T> | binding() const |
| QPropertyChangeHandler<Functor> | onValueChanged(Functor f) |
| QPropertyBinding<T> | setBinding(const QPropertyBinding<T> &newBinding) |
| bool | setBinding(const QUntypedPropertyBinding &newBinding) |
| QPropertyBinding<T> | setBinding(Functor f) |
| void | setValue(QProperty::rvalue_ref newValue) |
| void | setValue(QProperty::parameter_type newValue) |
| QPropertyChangeHandler<Functor> | subscribe(Functor f) |
| QPropertyBinding<T> | takeBinding() |
| QProperty::parameter_type | value() const |
| QProperty<T> & | operator=(QProperty::rvalue_ref newValue) |
| QProperty<T> & | operator=(QProperty::parameter_type newValue) |
Подробное описание
QProperty<T> — один из классов, реализующих связываемые свойства Qt. Это контейнер, хранящий экземпляр T. Вы можете присвоить ему значение и прочитать его с помощью функции value() или оператора преобразования к типу T. Вы также можете связать свойство с выражением, динамически вычисляющим значение, выражение привязки. Оно представлено в виде лямбда-выражения C++ и может использоваться для выражения взаимосвязей между различными свойствами в вашем приложении.
Документация по функциям-членам
QProperty<T> &QProperty::operator=(QProperty::parameter_type newValue)
QProperty<T> &QProperty::operator=(QProperty::rvalue_ref newValue)
Присваивает newValue этому свойству и возвращает ссылку на это QProperty.
void QProperty::setValue(QProperty::parameter_type newValue)
void QProperty::setValue(QProperty::rvalue_ref newValue)
Присваивает newValue этому свойству и удаляет связанную с ним привязку, если она существует.
[default] QProperty::QProperty(T &&initialValue)
Перемещающее создание свойства со значением initialValue.
[default] QProperty::QProperty(const T &initialValue)
Создаёт свойство со значением initialValue.
шаблон <typename Functor> QProperty::QProperty(Functor &&f)
Создаёт свойство, связанное с предоставленным выражением привязки f. При первом чтении значения свойства выражение привязки вычисляется. Всякий раз, когда изменяется зависимость привязки, привязка перевычисляется в следующий раз при чтении значения этого свойства.
QProperty::QProperty(const QPropertyBinding<T> &binding)
Создаёт свойство, связанное с предоставленным выражением binding. При первом чтении значения свойства выражение привязки вычисляется. Всякий раз, когда изменяется зависимость привязки, привязка перевычисляется в следующий раз при чтении значения этого свойства.
QProperty::QProperty()
Создаёт свойство с экземпляром T по умолчанию.
[default] QProperty<T> &QProperty::operator=(const QPropertyBinding<T> &newBinding)
Связывает значение этого свойства с предоставленным выражением newBinding и возвращает ссылку на это свойство. При первом чтении значения свойства выражение привязки вычисляется. Всякий раз, когда изменяется зависимость привязки, привязка перевычисляется в следующий раз при чтении значения этого свойства.
QProperty::~QProperty()
Уничтожает свойство.
QPropertyBinding<T> QProperty::binding() const
Возвращает выражение привязки, связанное с этим свойством. Если такой ассоциации нет, возвращается QPropertyBinding<T> по умолчанию.
См. также setBinding().
шаблон <typename Functor> QPropertyChangeHandler<Functor> QProperty::onValueChanged(Functor f)
Регистрирует предоставленный функциональный объект f как обработчик, который будет вызываться всякий раз, когда значение свойства изменяется.
Ожидается, что f — это тип, имеющий простой оператор вызова () без параметров. Это означает, что вы можете предоставить лямбда-выражение C++, std::function или даже пользовательскую структуру с оператором вызова.
Возвращаемый объект обработчика изменения свойства отслеживает регистрацию. Когда он выходит из области видимости, обработчик отменяется.
QPropertyBinding<T> QProperty::setBinding(const QPropertyBinding<T> &newBinding)
Связывает значение этого свойства с предоставленным выражением newBinding и возвращает ранее связанную привязку. При первом чтении значения свойства выражение привязки вычисляется. Всякий раз, когда изменяется зависимость привязки, привязка перевычисляется в следующий раз при чтении значения этого свойства.
См. также binding().
bool QProperty::setBinding(const QUntypedPropertyBinding &newBinding)
Это перегруженная функция.
Связывает значение этого свойства с предоставленным выражением newBinding. При первом чтении значения свойства выражение привязки вычисляется. Всякий раз, когда изменяется зависимость привязки, привязка перевычисляется в следующий раз при чтении значения этого свойства.
Возвращает true, если тип этого свойства совпадает с типом, возвращаемым функцией привязки; иначе false.
template <typename Functor> QPropertyBinding<T> QProperty::setBinding(Functor f)
Это перегруженный метод.
Связывает значение этого свойства с предоставленным функтором f и возвращает ранее связанное связывание. В первый раз при чтении значения свойства связывание вычисляется путем вызова оператора вызова () функтора f. Всякий раз, когда зависимость связывания изменяется, связывание перевычисляется при следующем чтении значения этого свойства.
template <typename Functor> QPropertyChangeHandler<Functor> QProperty::subscribe(Functor f)
Подписывает данный функтор f в качестве обратного вызова, который вызывается немедленно и всякий раз, когда значение свойства изменяется в будущем.
Обратный вызов f должен иметь тип с простым оператором вызова () без параметров. Это означает, что вы можете предоставить выражение лямбда C++, std::function или даже пользовательскую структуру с оператором вызова.
Возвращаемый объект обработчика изменений свойства отслеживает подписку. Когда он выходит из области видимости, обратный вызов отписывается.
QPropertyBinding<T> QProperty::takeBinding()
Отсоединяет выражение связывания от этого свойства и возвращает его. После вызова этой функции значение свойства будет изменяться только при присваивании нового значения или при установке нового связывания.
QProperty::parameter_type QProperty::value() const
Возвращает значение свойства. Это может оценить выражение связывания, связанное с этим свойством, перед возвратом значения.
См. также setValue().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qproperty.html