qt - loader.source 更改时 Qml 加载器的动画

标签 qt qml qtquick2 qt-quick qt5.4

当我们更改 QML 中的 Loader 组件的源时,有什么方法可以应用动画吗? 例如,假设我有以下Loader:

Loader {
     anchors.fill: parent
     id: loader
}

当我设置loader.source =“content.qml”时,我想要一个从左到右的动画

感谢您的帮助。

最佳答案

这是一种方法:

import QtQuick 2.4
import QtQuick.Window 2.0

Window {
    id: window
    width: 400
    height: 400
    visible: true

    Loader {
        id: loader
        onSourceChanged: animation.running = true

        NumberAnimation {
            id: animation
            target: loader.item
            property: "x"
            from: 0
            to: window.width - loader.item.width
            duration: 1000
            easing.type: Easing.InExpo
        }
    }

    // Replace this with some other action that changes the source.
    Component.onCompleted: loader.source = "MyRectangle.qml"
}

MyRectangle.qml:

import QtQuick 2.0

Rectangle {
    id: rect
    color: "red"
    width: 150
    height: 150
}

关于qt - loader.source 更改时 Qml 加载器的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31219063/

相关文章:

c++ - QTableWidget中如何动态分配单元格

qt - QML,一次编码,两次部署

c++ - 为什么在单击编辑文本后不显示 qml 虚拟键盘,而我在 .pro 和 main.cpp 中调用插件

qt - 将信号连接到插槽,但只调用一次插槽,然后自动断开它们

c++ - Qt 在 ItemDelegate 之外访问模型数据

qt - 我在哪里可以下载 Ubuntu 的 qmlscene

windows - 隐藏终端上打印的所有 QT 应用程序警告?

qt - 如何在不使用QProcess的情况下在C++/Qt中进行ping操作?

c++ - 由他们的 parent 绘制 QWidgets

qt - 如何将样式应用到 QML 中的 TextField?似乎 "style"属性不可用