嵌入式培训机构四个月实训课程笔记(完整版)-C++和QT编程第五天-Qt 事件(物联技术666)

本文详细介绍了Qt事件处理的过程,包括鼠标点击、移动、释放、滚轮、键盘按键和窗口大小改变等事件的处理方法。通过重新实现QEvent的虚函数,可以自定义事件处理器。同时,讲解了如何设置鼠标跟踪和获取坐标。
摘要由CSDN通过智能技术生成

链接:https://pan.baidu.com/s/1Rq8PQRV1liuIXML0JKOX_Q?pwd=1688 
提取码:1688

事情:事件由窗口系统或Qt自身产生。用以响应各种行为或情况。比如:鼠标点击,鼠标移动到窗口上,键盘输入键值,窗口大小的变换,按键被点击的动作等等。
事件处理过程:
1.在Qt内部,Qt通过QApplication::exec()启动的主事件循环不停的抓取事件队列中的事件。
2.然后将事件转换成对应的QEvent对象
3.通过调用QObject类的event()函数将这个事件类型调用相应的事件处理器如:mounsePressEvent();keyPressEvent();paintEvent()等;
实现方法:
通过虚函数的机制使得我们可以让事件在处理时调用到自定义的事件处理函数;重新实现这些事件函数。实现函数要遵循虚函数的语法规则,自定义的类中保证函数名、参数的一致性;
 
//*****************构造函数************************
this->setMouseTracking(true);//设置鼠标轨迹,不设置要显示移动坐标必须选中才能显示
ui->label->setMouseTracking(true);
//设置label也显示鼠标轨迹,不设置则移动到label上就不会显示坐标
//**************************************************
 
QEvent
//***************************************************
    void enterEvent(QEvent *);进入事件
    void leaveEvent(QEvent *);离开事件
//***************************************************
 
 
QMousePressEvent(鼠标按下)
//**************************************************
类中声明虚函数:包含头文件#include <QMouseEvent>
protected:
    void mousePressEvent(QMouseEvent *);    //虚函数,鼠标按下
在类外定义:
void event::mousePressEvent(QMouseEvent * t)    //鼠标按下
{
    int x = t->x();            //获得点击widget的坐标x位置
    int y = t->y();            //获得点击widget的坐标y位置
 

  • 18
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值