qml 实现图片旋转, 且鼠标可以拖动图片,鼠标点击在两幅图片间切换

版权声明:更多文件,请访问 qzher.com 致力于良心IT培训,深圳QQ群:326023167 https://blog.csdn.net/sinat_35523212/article/details/52177356

Qt教程: 
qml 实现图片旋转,

且鼠标可以拖动图片,鼠标点击在两幅图片间切换

源码下载:http://download.csdn.net/detail/sinat_35523212/9600328

 

#include <QGuiApplication>

#include <QQmlApplicationEngine>

int main(int argc, char* argv[])

{

    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);

    QGuiApplication app(argc, argv);

    QQmlApplicationEngine engine;

    engine.load(QUrl(QLatin1String("qrc:/main.qml")));

    return app.exec();

}


--------------------------------------------------------------

qml

import QtQuick 2.7

import QtQuick.Window 2.2

import QtQuick.Controls 2.0

ApplicationWindow {

    visible: true

    width: 800      // 宽高

    height:600

    color : "#260"  // 背景色

    title: "qzher-qmlTest"  // 标题

    property int n : 0  //定义变量

    Image {

        id: img

        source: "qrc:/av1.jpg"  // 要显示的图片

        RotationAnimation on rotation { // 旋转动画

                  loops: Animation.Infinite // 一直旋转

                  from: 0       //  0 - 360 度旋转

                  to: 360

                  duration: 3000        // 旋转一个周期需要三秒

              }

        MouseArea {     // 鼠标响应

            id: dragArea;

            anchors.fill: parent;   // 在父容器内才响应

            drag.target: img        // idimg的对象可以被拖动

            onClicked: {            // 点击事件

                console.debug("点击了图片")  // 打印信息

                if(0 == n){         // 根据变量切换图片

                 img.source="qrc:/ani.jpg";

                    n = 1

                }else{

                 img.source="qrc:/av1.jpg";

                    n=0;

                }

            }

        }

    }

}

猜你喜欢

转载自blog.csdn.net/sinat_35523212/article/details/52177356