【QML COOK】- 003-处理鼠标事件

2024-01-09 06:31:10

1. 编辑main.qml

import QtQuick

Window {
    width: 800
    height: 800
    visible: true
    title: qsTr("Hello World")

    Image {
        id: backgroud
        anchors.fill: parent
        source: "qrc:/Resources/Images/arrow.png"
    }

    MouseArea {
        anchors.fill: parent
        onClicked: backgroud.rotation += 90
    }
}
  • MouseArea同Image一样也是一个对象,只不过这个对象在窗口中是不显示的,它的作用是监视区域内的鼠标事件。
  • 我想让MouseArea监控整个窗口的鼠标事件,所以使用了"anchors.fill:parent"让它填充整个窗口
  • id是每个QML对象都有的属性,它的值唯一标识了一个QML对象。注意值不是字符串,不要用双引号括起来。可以把id的值当作是对象的一个引用。通过id.propery就能修改一个对象的属性。
  • onClicked是一个slot,用来处理鼠标点击事件。QML中所有事件slot的名称都是onEventName.
  • 我想在点击鼠标时让id是backgroud的Image转90度,所以在MouseArea的onClicked中修改了backgroud的rotation属性

2. 运行程序

正常在串口中每点击一次鼠标,窗口中的图片就会顺时针转90度。

文章来源:https://blog.csdn.net/patronwa/article/details/135470159
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。