alltolove 发表于 2017-3-21 06:33:03

QT动画制作(三十)

效果:

今天我们为了让代码更简练,不用main.qml文件和windows框架,直接建一个a.qml文件。
首先建立QT quick application 项目,然后把main.qml和MainForm.ui.qml文件都删除,新建个a.qml文件,修改源文件里main.cpp文件为:
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QQuickView>
int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);

    QQuickView viewer;
      viewer.setResizeMode(QQuickView::SizeRootObjectToView);
      viewer.setSource(QUrl("qrc:/a.qml"));
      //viewer.rootObject();
      viewer.show();
    return app.exec();
}

a.qml文件:
import QtQuick 2.0

Item {
    width: 600
    height: 600
    Rectangle{
      property int b:100
      id:a
      width: b
      height: b
      color: "red"
      ParallelAnimation{
            running: true
            SpringAnimation{
                target: a
                from:a.y
                to:250
                property: "x"
                spring: 2//弹性力度
                damping: 0.02
                epsilon: 0.25//接近于0的阈值
            }
            SpringAnimation{
                target: a
                from:a.y
                to:250
                property: "y"
                spring: 2
                damping: 0.02//阻尼
                epsilon: 0.25
            }
      }
    }
}

Preview: 明天介绍用C++代码自定义创建qml对象
页: [1]
查看完整版本: QT动画制作(三十)