Мне было интересно, есть ли какие-либо инструменты для моделирования физического движения для анимации в Qt
, Я помню, я когда-то видел на iOS
что можно быстрее перетащить панель вниз, и панель будет подпрыгивать в нижней части экрана с интенсивностью, пропорциональной силе, с которой ее перетаскивали; я верю, что это называется UIKit Динамика. Что-то вроде этого:
Или, скажем, я хочу создать этот тип отскакивающего эффекта для моего интерфейса:
Здесь прошедшее значение круга прогресса слегка подпрыгивает после достижения нового значения. Эти эффекты не могут быть сделаны только с помощью кривых Qt анимации.
Кто-нибудь знает, есть ли способы создания этих типов анимации с Qt Widgets
или же Qt Quick
? Есть ли что-то, что может быть интегрировано с Qt Animations
?
У каждой анимации API есть, и это не «физический движок», это называется «кривые ослабления». Они обычно используются для имитации физического взаимодействия и оживления скучной и безжизненной анимации. Естественно, У Qt тоже есть, Есть множество самых часто используемых, и вы можете сделать свой собственный.
Эти эффекты не могут быть сделаны только с помощью кривых Qt анимации
предлагает.
Кажется, ты даже не пытался. Все примеры эффектов, которые вы разместили, могут быть достигнуты с помощью кривых замедления. Например, кривая ослабления для второго эффекта должна выглядеть примерно так:
Нарастает почти линейно, пока не перешагнет цель, удерживая на мгновение, после чего отступает к цели.
Кроме того, если вы планируете создавать необычные анимированные интерфейсы, я бы предложил вместо этого использовать QML и держаться подальше от QtWidget
stack — QML значительно быстрее и проще в создании современного пользовательского интерфейса. Виджеты не подходят для этого, вы могли бы к этому, но это будет утомительный процесс.
Других решений пока нет …