就像拉拽窗口一会大一会小一样,怎么实现动画形式的变大变小啊???
用了
QPropertyAnimation *animation = new QPropertyAnimation(parent, "geometry");
animation->setDuration(3000);
animation->setStartValue(QRect(100, 100,200, 200));
animation->setEndValue(QRect(200, 100, 1000,1000));
animation->setEasingCurve(QEasingCurve::Linear);
animation->start();
结果只变化位置,不改变大小...
------解决方案--------------------
Widget *w = new Widget;
w->show();
QPropertyAnimation *animation = new QPropertyAnimation(w, "geometry");
animation->setDuration(3000);
animation->setStartValue(QRect(100, 100,200, 200));
animation->setEndValue(QRect(200, 100, 1000,1000));
animation->setEasingCurve(QEasingCurve::Linear);
animation->start();
这段代码运行没有问题。
不知到LZ的parent到底是个什么东东。
------解决方案--------------------
我这可以实现阿
#include <QApplication>
#include <QPropertyAnimation>
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
QWidget *w = new QWidget;
w->show();
QPropertyAnimation *animation = new QPropertyAnimation(w, "geometry");
animation->setDuration(3000);
animation->setStartValue(QRect(100, 100,200, 200));
animation->setEndValue(QRect(200, 100, 1000,1000));
animation->setEasingCurve(QEasingCurve::Linear);
animation->start();
return app.exec();
}