qml 实现图片旋转,以及鼠标点击与拖动

 

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

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


 

#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;

                }

            }

 

        }

    }

}

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

发表评论

电子邮件地址不会被公开。 必填项已用*标注