有点奇怪的问题,但我最近发现有一种方法可以为Qt GUI制作动画。我真的想找到一种方法让我的主窗口扩展成一个更大的窗口,而不是立即调整大小(这很简单)我希望看到它扩展为动画类型。更重要的是,这种动画的正确方法是什么?
我附上2张图片,显示初始窗口和最终展开的窗口(或者至少我想象的那样)。
(它需要逐渐扩展,动画明智,进入下面)
提前谢谢大家。
答案 0 :(得分:1)
如果您不使用QML,则需要使用某种技巧,在由您自己的事件触发的循环中递减/递增窗口小部件的大小。缓和曲线可以帮助您实现平滑效果https://doc.qt.io/qt-5/qeasingcurve.html。
答案 1 :(得分:1)
由于您使用的是QML,这对您来说非常简单。最简单的方法是使用behavior结合下面的smoothed animation.琐事示例。
ApplicationWindow {
width: base.size
height: base.size
Item {
id: base
property real size: 400
Behavior on size {
SmoothedAnimation {
duration: 1000
}
}
anchors.fill: parent
MouseArea {
anchors.fill: parent
onClicked: base.size += 100
}
}
}