QPropertyAnimation Class
QPropertyAnimation 클래스는 Qt 프로퍼티를 애니메이션화합니다. 더 보기...
Header: | #include <QPropertyAnimation> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
상속합니다: | QVariantAnimation |
- 상속된 멤버를 포함한 모든 멤버 목록
- QPropertyAnimation은 애니메이션 프레임워크의 일부입니다.
속성
- propertyName : QByteArray
- targetObject : QObject*
공용 함수
QPropertyAnimation(QObject *parent = nullptr) | |
QPropertyAnimation(QObject *target, const QByteArray &propertyName, QObject *parent = nullptr) | |
virtual | ~QPropertyAnimation() |
QBindable<QByteArray> | bindablePropertyName() |
QBindable<QObject *> | bindableTargetObject() |
QByteArray | propertyName() const |
void | setPropertyName(const QByteArray &propertyName) |
void | setTargetObject(QObject *target) |
QObject * | targetObject() const |
재구현된 보호 기능
virtual bool | event(QEvent *event) override |
virtual void | updateCurrentValue(const QVariant &value) override |
virtual void | updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState) override |
상세 설명
QPropertyAnimation은 Qt 프로퍼티를 보간합니다. 프로퍼티 값은 QVariant에 저장되므로, 이 클래스는 QVariantAnimation 을 상속하고 슈퍼클래스와 동일한 meta types 의 애니메이션을 지원합니다.
프로퍼티를 선언하는 클래스는 반드시 QObject. 프로퍼티에 애니메이션을 적용하려면 설정자를 제공해야 합니다(QPropertyAnimation이 프로퍼티의 값을 설정할 수 있도록). 이렇게 하면 Qt의 많은 위젯에 애니메이션을 적용할 수 있습니다. 예제를 살펴보겠습니다:
#include <QApplication> #include <QPushButton> #include <QPropertyAnimation> class MyButtonWidget : public QWidget { public: MyButtonWidget(QWidget *parent = nullptr); }; MyButtonWidget::MyButtonWidget(QWidget *parent) : QWidget(parent) { QPushButton *button = new QPushButton(tr("Animated Button"), this); QPropertyAnimation *anim = new QPropertyAnimation(button, "pos", this); anim->setDuration(10000); anim->setStartValue(QPoint(0, 0)); anim->setEndValue(QPoint(100, 250)); anim->start(); } int main(int argc, char *argv[]) { QApplication a(argc, argv); MyButtonWidget buttonAnimWidget; buttonAnimWidget.resize(QSize(800, 600)); buttonAnimWidget.show(); return a.exec(); }
참고: 애니메이션을 시작하면서 delete policy 을 선택하여 애니메이션의 수명을 제어할 수도 있습니다.
속성 이름과 애니메이션을 적용할 속성의 QObject 인스턴스가 생성자에게 전달됩니다. 그런 다음 프로퍼티의 시작 및 종료 값을 지정할 수 있습니다. 이 절차는 직접 구현한 클래스의 프로퍼티에도 동일하게 적용되며, QVariant 유형이 지원되는지 QVariantAnimation 에서 확인하세요.
QVariantAnimation 클래스 설명에 애니메이션을 설정하는 방법이 자세히 설명되어 있습니다. 그러나 시작 값을 설정하지 않으면 프로퍼티는 QPropertyAnimation 인스턴스가 생성될 때의 값으로 시작한다는 점에 유의하세요.
QPropertyAnimation은 그 자체로 매력처럼 작동합니다. 예를 들어 여러 개체가 포함된 복잡한 애니메이션의 경우 QAnimationGroup 이 제공됩니다. 애니메이션 그룹은 다른 애니메이션을 포함할 수 있고 해당 애니메이션이 재생되는 시기를 관리할 수 있는 애니메이션입니다. 예를 들어 QParallelAnimationGroup 을 보세요.
QVariantAnimation, QAnimationGroup, 애니메이션 프레임워크도참조하세요 .
속성 문서
[bindable]
propertyName : QByteArray
참고: 이 프로퍼티는 QProperty 바인딩을 지원합니다.
이 속성은 이 애니메이션의 대상 속성 이름을 보유합니다.
이 프로퍼티는 이 애니메이션의 대상 프로퍼티 이름을 정의합니다. 이 속성 이름은 애니메이션이 작동하는 데 필요합니다.
[bindable]
targetObject : QObject*
참고: 이 속성은 QProperty 바인딩을 지원합니다.
이 속성은 이 애니메이션에 대한 QObject 대상을 보유합니다.
이 프로퍼티는 이 애니메이션의 타깃 QObject 을 정의합니다.
멤버 함수 문서
QPropertyAnimation::QPropertyAnimation(QObject *parent = nullptr)
parent 을 QObject 의 생성자에 전달합니다.
QPropertyAnimation::QPropertyAnimation(QObject *target, const QByteArray &propertyName, QObject *parent = nullptr)
parent 을 QObject 의 생성자에 전달합니다. 애니메이션은 target 에서 propertyName 속성을 변경합니다. 기본 지속 시간은 250ms입니다.
targetObject 및 propertyName 을참조하십시오 .
[virtual noexcept]
QPropertyAnimation::~QPropertyAnimation()
QPropertyAnimation 인스턴스를 삭제합니다.
[override virtual protected]
bool QPropertyAnimation::event(QEvent *event)
다시 구현합니다: QVariantAnimation::event(QEvent * 이벤트).
[override virtual protected]
void QPropertyAnimation::updateCurrentValue(const QVariant &value)
재구현합니다: QVariantAnimation::updateCurrentValue(const QVariant &value).
이 가상 함수는 현재 값이 변경될 때마다 QVariantAnimation 에 의해 호출됩니다. value 은 새로 업데이트된 값입니다. 대상 객체에서 프로퍼티의 현재 값을 업데이트합니다.
currentValue 및 currentTime도 참조하세요 .
[override virtual protected]
void QPropertyAnimation::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState)
재구현합니다: QVariantAnimation::updateState(QAbstractAnimation::State newState, QAbstractAnimation::State oldState).
애니메이션의 상태가 중지됨에서 실행 중으로 변경될 때 startValue가 정의되지 않은 경우 현재 속성 값이 애니메이션의 초기 값으로 사용됩니다.
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.