项目完整代码: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 QMouseEvent::button();
QPoint globalPos() const const QPointF & localPos() const QPoint pos() const const QPointF & screenPos() const const QPointF & windowPos() const
|