QT学习(二):QEvent

一、QEvent

QT事件:比如鼠标进入、鼠标移动、鼠标离开等等。

1. 鼠标进入等:

二、如何捕捉事件?

1. 定义自定义控件

 

2. 在自定义的My_ui.h中,定义鼠标事件函数。

二、常用鼠标事件

 1. 鼠标进入事件

[virtual protected] void QWidget::enterEvent(QEvent *event)

2. 鼠标移出

[virtual protected] void QWidget::leaveEvent(QEvent *event)

3. 鼠标点击

[virtual protected] void QWidget::mousePressEvent(QMouseEvent *event)

4. 鼠标释放

[virtual protected] void QWidget::mouseReleaseEvent(QMouseEvent *event)

5. 鼠标移动

[virtual protected] void QWidget::mouseMoveEvent(QMouseEvent *event)

6. 鼠标双击

virtual void mouseDoubleClickEvent(QMouseEvent *event)

三、在qt中设置事件

1. 在.h文件中声明事件

2. 在对应的.cpp中重写虚函数

3. setMouseTracking(true);

对于鼠标的Move事件,要先摁下鼠标才算移动。可以在.cpp中设置如上监听,不摁着鼠标也能捕获到Move事件。

四、鼠标左键?右键?

1. 先查QT文档

QMouseEvent-->Qt::MouseButton

2. 使用

3. Buttons?

以上适用于点击等瞬间性的事件,持续性的事件不适用,比如Move。持续性的需要用Buttons(),这个包含了鼠标的所有按键。要搭配 位与& 运算使用。

五、QString中的占位符

QString占位符用%1----%n代替,比如:

// 这里的event是事件函数中的参数
QStrint str = QString("当前点的坐标是:(%1 , %2)").arg(event->x()).arg(event->y());

六、如何查看QT文档?

我一般在QWidget中查找,比如鼠标事件,一般在这里可以找到

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值