自己博客中的代码可以在https://github.com/xixihaha331/QT_Repository中获取
事件处理
MouseArea 鼠标句柄交互
MouseEvent鼠标事件
WheelEvent滚动事件
DrangEvent拖放事件
FocusScope 键盘焦点句柄
focus键盘事件
Flickable 提供一种浏览整张图片的一部分的效果,具体看例子
Flipable 提供一个平面,可以进行翻转看他的前面或后面,具体看例子
Timer定时器
1.MouseArea 鼠标句柄交互
属性:
enable;是否开启鼠标事件处理,默认为开启
pressed判断用户是否按住了鼠标按钮
onClicked 单击鼠标触发事件
onDoubleClicked双击鼠标触发事件
onPressed按下鼠标触发事件
onReleased松开鼠标触发事件
onPressaAndHold
onWheel处理滚轮事件
1.1MouseEvent鼠标事件
属性:
accepted属性为true来防止鼠标事件传播到下层项目
有一个mouse参数,对其进行操作判断
button/buttons获取按下的按键
button可取的值为:
Qt.LeftButton左键
Qt.RightButton右键
Qt.MiddleButton中键
modifiers获取按下的键盘修饰符
modifiers可取的值为:
Qt.NoModifier没有修饰键按下
Qt.ShiftModifier shift键按下
Qt.ControlModifier ctrl键按下
Qt.AltModifier alt键按下
Qt.MetaModifier meta键按下
Qt.KeypadModifier 一个小键盘按钮被按下
使用时需要将modifiers与这些特殊的按键进行按位与来判断按键
例如:mouse.modifiers & Qt.ShiftModifier
1.2WheelEvent滚轮事件
有一个wheel参数,对其进行操作判断
属性:
angleDelta来获取滚轮滚动的距离,x和y坐标分别保存水平,垂直方向的增量.
例如:wheel.angleDelta.y