QT开发中文网

animationFinished()

animationFinished()是QPropertyAnimation类的一个信号,表示动画已经完成。可以通过连接该信号到一个槽函数来执行一些操作。

以下是一个示例代码,在动画完成时输出一条消息:

#include <QtWidgets>

class MyWidget : public QWidget
{
    Q_OBJECT

public:
    explicit MyWidget(QWidget *parent = nullptr) : QWidget(parent)
    {
        setGeometry(100, 100, 200, 200);

        QPropertyAnimation *animation = new QPropertyAnimation(this, "geometry");
        animation->setDuration(1000);
        animation->setStartValue(QRect(100, 100, 200, 200));
        animation->setEndValue(QRect(300, 300, 200, 200));

        connect(animation, &QPropertyAnimation::finished, this, &MyWidget::onAnimationFinished);

        animation->start();
    }

public slots:
    void onAnimationFinished()
    {
        qDebug() << "Animation finished";
    }
};

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    MyWidget widget;
    widget.show();

    return app.exec();
}

#include "main.moc"

在上述代码中,我们创建了一个自定义的QWidget子类MyWidget,并在构造函数中创建了一个QPropertyAnimation对象。我们将animationFinished()信号与MyWidget类的onAnimationFinished槽函数进行连接。当动画完成时,会调用该槽函数,并输出一条消息”Animation finished”。

运行以上代码,你将看到窗口平滑地从初始位置移动到结束位置,并在动画完成后控制台输出”Animation finished”。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=8881

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?