当前位置: 代码迷 >> 综合 >> QML鼠标事件
  详细解决方案

QML鼠标事件

热度:16   发布时间:2024-02-21 06:01:43.0

 main.qml

import QtQuick 2.4
import QtQuick.Window 2.2
import QtQuick.Controls 1.3
Rectangle
{visible: true;  //设置窗口为可见的width:480;  //设置窗口的宽和高height:320;Text  //定义一个文本对象{x:50;  //设置文本对象的位置y:50;id:txt;  //文本对象的idfont.pointSize: 16; //设置文本的字体大小text:"hello!"; //设置文本显示的内容}MouseArea //定义鼠标的处理对象{anchors.fill: parent;  //鼠标可以在整个窗口中处理acceptedButtons: Qt.LeftButton|Qt.RightButton;  //定义接收鼠标的左键和右键事件onClicked:  //单击事件处理{if(mouse.button==Qt.LeftButton){txt.text="hello LeftButton";  //改变文本的内容,提示信息}else if(mouse.button==Qt.RightButton){txt.text="hello RightButton";  //改变文本的内容,提示信息}}onDoubleClicked:{if(mouse.button==Qt.LeftButton){txt.text="hello LeftButton Double";  //改变文本的内容,提示信息}else if(mouse.button==Qt.RightButton){txt.text="hello RightButton Double";  //改变文本的内容,提示信息}}}
}

main.cpp

#include <QGuiApplication>
#include <QQuickView>
#include<QQmlEngine>int main(int argc, char *argv[])
{QGuiApplication app(argc, argv);QQuickView viewer;viewer.setResizeMode(QQuickView::SizeRootObjectToView);viewer.setSource(QUrl("qrc:/main.qml"));viewer.show();QObject::connect(viewer.engine(), SIGNAL(quit()), &app, SLOT(quit()));return app.exec();
}

 

  相关解决方案