鼠标点击事件demo

项目完整代码:MouseEventDemo

界面

界面

功能

打印鼠标事件。

实现

在Qt中,鼠标事件被封装成.QMouseEvent对象,QMouseEvent中包含一些参数,用描述鼠标事件。

在QT中,鼠标事件包含:鼠标按键按下,鼠标按键释放,鼠标双击事件,鼠标移动事件。对应的处理函数有:

1
2
3
4
virtual void mousePressEvent(QMouseEvent *event);
virtual void mouseReleaseEvent(QMouseEvent *event);
virtual void mouseDoubleClickEvent(QMouseEvent *event);
virtual void mouseMoveEvent(QMouseEvent *event);

这些函数是QWidget的virtual函数,在Qt中称为event handler。如果想在QWidget中自定义行为以响应相关事件,需要override这些函数。

笔记

参考:QT 事件系统之QMouseEvent鼠标事件

1
2
3
4
5
6
7
8
9
10
11
12
13
// 设置当前窗口的相对于父窗口的位置和大小,原点为左上角。
void QWidget::setGeometry(int x, int y, int w, int h);

// 获取当前鼠标事件的键名,Qt::MouseButton为枚举类型
Qt::MouseButton QMouseEvent::button();

// 获取鼠标事件时鼠标的位置
// QPoint 整型精度 QPointF 浮点精度
QPoint globalPos() const // 全局位置
const QPointF & localPos() const // 相对于Widget的位置
QPoint pos() const // 相对于Widget的位置
const QPointF & screenPos() const // 相对于屏幕的位置
const QPointF & windowPos() const // 相对于窗口的位置

鼠标点击事件demo
https://ww1820.github.io/posts/8710480d/
作者
AWei
发布于
2023年6月2日
更新于
2023年6月2日
许可协议