窗口的透明淡化一直隐藏的效果:
QPropertyAnimation *pAnimation = new QPropertyAnimation(_guiTest, "windowOpacity");
pAnimation->setDuration(1000);
pAnimation->setKeyValueAt(0, 1);
pAnimation->setKeyValueAt(0.5, 0);
pAnimation->setKeyValueAt(1, 1);
pAnimation->start(QAbstractAnimation::DeleteWhenStopped);
窗口最小化:
QPropertyAnimation *pAnimation = new QPropertyAnimation(_guiTest, "geometry");
QRect startRect = rect();
startRect.moveTo(pos());
QRect stopRect = QRect(startRect.center(), QSize(0, 0));
pAnimation->setStartValue(startRect);
pAnimation->setEndValue(stopRect);
pAnimation->start(QAbstractAnimation::DeleteWhenStopped);
窗口飞走:
QPropertyAnimation *pAnimation = new QPropertyAnimation(_guiTest, "pos");
QDesktopWidget *pDesktopWidget = QApplication::desktop();
int x = (pDesktopWidget->availableGeometry().width() - width()) / 2;
int y = (pDesktopWidget->availableGeometry().height() - height()) / 2;
pAnimation->setDuration(2000);
pAnimation->setStartValue(QPoint(x,y));
pAnimation->setEndValue(QPoint(x - width(), y));
//pAnimation->setStartValue(QRect(x, 0, width(), height()));
//pAnimation->setEndValue(QRect(x, y, width(), height()));
//pAnimation->setEasingCurve(QEasingCurve::OutElastic);
pAnimation->start(QAbstractAnimation::DeleteWhenStopped);
aaa