QT新手日记033

QT新手日记033

QTQUICK - MouseArea

import QtQuick

window

{

width:640

height:480

visible:true

title:qsTr("Rectangle使用")

Rectangle

{

id:标识号

width:100

height:100

color:"red"

anchors.bottom:parent.bottom对齐位置

border.color:"black"

border.width:1

MouseArea{

id:标识号

width:100

height:100

x:10

y:10

//上面的配置如果有下面这行的话则没有用了。

anchors.fill:parent//彼填充父层区域

hoverEnabled:true/false//鼠标进入时也会发信号,默认不会。

onClicked:(mouseover型的参数mouse)=>{

//单击要干点什么事

if(mouse.button==Qt.Leftbutton或者Qt.RightButton)

{

// 点左键或者右键不同的时候要处理什么业务?

}

}

onClicked:{

//单击要干点什么事

}

onDoubleClicked:{

//双击要干点什么事

}

onPressAndHold:{

//鼠标悬停时干点什么事

}

}

onEntered:{

//鼠标进入时做点什么事

}

onExited:{

//鼠标离开时做点什么事

}

onPositionChanged:(MouseEvent型的参数mouse)=>{

//鼠标位置发生变化时干点什么事?

//mouse.x和mouse.y决定了位置,当然还有mouse.button决定按下了什么键

}

onPressAndHold:(MouseEvent型的参数mouse)=>{

//鼠标持续按下超过800毫秒后干点什么事?

//mouse.x和mouse.y决定了位置,当然还有mouse.button决定按下了什么键

}

onPressed:(MouseEvent型的参数mouse)=>{

//鼠标按下干点什么事?

//mouse.x和mouse.y决定了位置,当然还有mouse.button决定按下了什么键

}

onReleased:(MouseEvent型的参数mouse)=>{

//鼠标放开时干点什么事?

//mouse.x和mouse.y决定了位置,当然还有mouse.button决定按下了什么键

}

onWheel:(WheelEvent的能数wheel)=>{

//当鼠标滚轮滚动时干点什么,一般wheel.angleDelta().y()表示正负120的滚动量,当然还有wheel.x(),wheel.y()表示位置

//wheel.button:int是通过位运算的多个按键是否按下:Qt.LeftButton|Qt.RightButton|Qt.MiddleButton

//wheel.inverted:bool传递增量值是否已正负反转。

//wheel.modifiers:int类似于button,表示键盘同时按下什么键:Qt.NoModifier/ShiftModifier/ControlModifier/AltModifier/MetaModifier/KeypadModifier等的或运算得到数据

}

//只读属性mouseX,mouseY表示鼠标位置,containsMouse表示是否在响应鼠标的区域内部

acceptedButtons:Qt.LeftButton|Qt.RightButton//表示允许响应什么按键。其中,Qt.AllButtons表示所有键,默认是Qt.LeftButton

cursorShape:Qt.ArrowCursor//表示鼠标前头样式。很多。

//Qt.ArrowCursor、、默认

//Qt.UpArrowCursor

//Qt.CrossCursor

//Qt.WaitCursor//等待

/Qt.IBeamCursor

//Qt.SizeVerCursor

//Qt.SizeHorCursor

//Qt.SizeBDiagCursor

//Qt.SizeFDiagCursor

//Qt.SizeAllCursor

//Qt.BlankCursor

//Qt.SplitVCursor

//Qt.SplitHCursor

//Qt.PointingHandCursor//小手

//Qt.ForbiddenCursor

//Qt.WhatsThisCursor//带小问号

//Qt.BusyCursor//繁忙

//Qt.OpenHandCursor

//Qt.ClosedHandCursor

//Qt.DragCopyCursor

//Qt.DragMoveCursor

//Qt.DragLinkCursor

//拖动

drag.target:parent

drag.axis:"XAxis"

drag.minimumX:30

drag.maximumX:150

drag.filterChildren:true

}

}

本节是MouseArea不可视的鼠标打击区域的,其他为辅助

相关推荐
C^h3 小时前
c++ string
开发语言·c++
raindayinrain3 小时前
c++高性能--原子操作,无锁编程,操作顺序
开发语言·c++·性能优化
学逆向的3 小时前
C++ 合并命名空间
开发语言·c++·网络安全
Zhao-Jichao3 小时前
VS2026 打包 C++ 程序生成 EXE,借助 Installer Project 扩展工具
开发语言·c++
学逆向的4 小时前
C 局部静态变量
c语言·开发语言·网络安全
小徐不徐说4 小时前
C++ 接口与插件设计:从工厂注册到 Qt 动态插件
数据库·c++·qt·系统架构·程序设计
大都督会赢的4 小时前
C++第一节课
开发语言·c++
“AI国潮设计-小江”4 小时前
【AIGC实战】Python+Stable Diffusion打造“英歌舞财神”IP,解锁“马到成功”等爆款情绪营销文案设计
开发语言·人工智能·python·prompt·aigc
小王C语言5 小时前
Qt常用控件:容器类控件,标题分组框、标签页(浏览器标签)
开发语言·qt
TMedical5 小时前
MedPlanning 截骨模拟矫形功能
c++·图像处理·人工智能·qt·健康医疗