C++ QtGUI动画?

C++ QtGUI动画?,c++,qt,user-interface,animation,qtgui,C++,Qt,User Interface,Animation,Qtgui,这是一个有点奇怪的问题,但我最近发现有一种方法可以为QtGUI制作动画。我真的很想找到一种方法,让我的主窗口扩展到一个更大的窗口,但与其让它立即调整大小(这是相当简单的),我想看到它在某种动画中扩展。更重要的是,制作此类动画的正确方法是什么 我附上2张图片,显示了最初的窗口和最终的扩展窗口(或者至少是我的设想) ---- (从动画角度来看,它需要逐步扩展到以下方面) 提前感谢大家。如果您不使用QML,您需要使用某种技巧,在由您自己的事件触发的循环中减少/增加小部件的大小。缓和曲线可以帮助您实

这是一个有点奇怪的问题,但我最近发现有一种方法可以为QtGUI制作动画。我真的很想找到一种方法,让我的主窗口扩展到一个更大的窗口,但与其让它立即调整大小(这是相当简单的),我想看到它在某种动画中扩展。更重要的是,制作此类动画的正确方法是什么

我附上2张图片,显示了最初的窗口和最终的扩展窗口(或者至少是我的设想)

----

(从动画角度来看,它需要逐步扩展到以下方面)


提前感谢大家。

如果您不使用QML,您需要使用某种技巧,在由您自己的事件触发的循环中减少/增加小部件的大小。缓和曲线可以帮助您实现平滑效果。

如果您不使用QML,您需要使用某种技巧,在由您自己的事件触发的循环中减少/增加小部件的大小。缓和曲线可以帮助您实现平滑效果。

因为您使用的是QML,所以这对您来说非常简单。最简单的方法是结合下面一个简单的例子使用一个

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
        }
    }
}

因为您使用的是QML,所以这对您来说相当简单。最简单的方法是结合下面一个简单的例子使用一个

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
        }
    }
}

我正在使用QML:)另外,在我写问题之前,我看了一下这个,这并不是我真正想要的。我正在使用QML.:)也,在我写这个问题之前,我看了一下这个,这并不是我想要的。我试着用while循环和线程等待来调整它的大小,但是它看起来很不稳定,如果我必须绝对诚实的话,这是相当垃圾的…我试着用while循环和线程等待来调整它的大小,但是它看起来很不稳定,而且很糟糕如果我必须绝对诚实的话,那就太垃圾了。。。