Здравствуйте. Прошу помочь. Как можно реализовать простую анимация изменения размера прямоугольника при нажатии на кнопку? Необходимо использовать только QVariantAnimation. В интернете мало примеров работы с ним.
void MainWindow:: paintEvent(QPaintEvent *)
{
// Алгоритм построения изображения:
// Создаем объект-"художник" и привязываем его к контексту виджета
QPainter painter(this);
// Включаем сглаживание линий
painter.setRenderHint(QPainter::Antialiasing, true);
// Маленький прямоугольник (участок цепи)
QBrush br(QColor(0, 255, 0), Qt::DiagCrossPattern); // Создаём кисть(для заливки фигуры)
painter.setBrush(br);
painter.drawRect(225, 120, 100, 50); // Рисуем прямоугольник
}
void MainWindow::on_pushButton_clicked()
{
// Создаём анимацию
QVariantAnimation* animation = new QVariantAnimation(this);
animation->setDuration(5000);
animation->setStartValue(QRect(225, 120, 100, 50)); // Задаём начальное значение
animation->setEndValue(QRect(225, 120, 200, 100)); // Задаём конечное значение
connect(animation,
&QVariantAnimation::valueChanged, [this](QVariant value)
{
//..Не понимаю, что нужно делать
update();
});
// Запускаем анимацию
animation->start();
}