《QmlBook》笔记(3):简单转换

定义一个简单的组件:

ClickableImage.qml

import QtQuick 2.0

Image
{
    id: root
    signal clicked
    MouseArea
    {
        anchors.fill: parent
        onClicked: root.clicked()//点击会让图片发信号
    }
}

一个图片组件加上鼠标区域,定义一个信号当鼠标按下时发送此信号。

main.qml

import QtQuick 2.9
import QtQuick.Window 2.2

Window
{
    visible: true;
    width: bg.width
    height: bg.height
    Image
    {
        id: bg
        source: "/img/background.png"
    }
    MouseArea
    {
        id: backgroundClicker
        anchors.fill: parent
        onClicked:
        {
            rocket.x = 20
        }
    }

    ClickableImage //也就是ClickableImage.qml文件的根项(即一个Image)
    {
        id: rocket
        x: 20; y: 100
        source: "/img/rocket.png"
        onClicked://自身的按下操作
        {
            x += 5
        }
    }
}

    MouseArea
    {
        id: backgroundClicker
        anchors.fill: parent
        onClicked:
        {
            rocket.rotation = 0
        }
    }

    ClickableImage
    {
        id: rocket
        x: 200; y: 100
        source: "/img/rocket.png"
        smooth: true
        onClicked:
        {
            rotation += 5
        }
    }

    MouseArea
    {
        id: backgroundClicker
        anchors.fill: parent
        onClicked:
        {
            rocket.rotation = 0
            rocket.scale = 1.0
        }
    }

    ClickableImage
    {
        id: rocket
        x: 380; y: 100
        source: "/img/rocket.png"
        smooth: true
        onClicked:
        {
            rotation += 5
            scale -= 0.05
        }
    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值