当前位置: 首页 > wzjs >正文

asp网站开发上传组建生产企业网站建设

asp网站开发上传组建,生产企业网站建设,东莞企业网站推广公司,中国建筑网建设通查询证件网当点击 QLabel 时,正常情况下并不会直接触发 MyWidget 的 mousePressEvent 函数,原因在于事件的传递机制和事件过滤器的存在。下面详细分析这个过程: 事件传递机制 在 Qt 里,事件的传递是从子控件往父控件冒泡的。不过&#xff…

当点击 QLabel 时,正常情况下并不会直接触发 MyWidget 的 mousePressEvent 函数,原因在于事件的传递机制和事件过滤器的存在。下面详细分析这个过程:

事件传递机制

在 Qt 里,事件的传递是从子控件往父控件冒泡的。不过,在事件到达目标控件(也就是子控件)的事件处理函数之前,会先经过事件过滤器。

结合代码分析

事件过滤器部分

cpp

bool eventFilter(QObject *watched, QEvent *event) override {if (watched->objectName() == "childLabel" && event->type() == QEvent::MouseButtonPress) {QMouseEvent *mouseEvent = static_cast<QMouseEvent*>(event);qDebug() << "[事件过滤器] 子控件被点击,全局坐标:" << mouseEvent->globalPos();return true; // 拦截事件,不再传递到子控件的mousePressEvent}return QWidget::eventFilter(watched, event);
}

当点击 QLabel 时,事件会先被传递到 MyWidget 的 eventFilter 函数。在这个函数中,会检查被监视的对象是否为 childLabel 且事件类型是否为鼠标点击事件。要是条件满足,就会输出点击的全局坐标信息,并且返回 true。返回 true 意味着事件被拦截,不会再传递到 QLabel 的 mousePressEvent 函数,更不会继续冒泡到 MyWidget 的 mousePressEvent 函数。

mousePressEvent 函数

cpp

void mousePressEvent(QMouseEvent *event) override {if (event->button() == Qt::LeftButton) {qDebug() << "[对象处理] 左键点击位置:" << event->pos();event->accept();} else {QWidget::mousePressEvent(event);}
}

这个函数是 MyWidget 的鼠标点击事件处理函数。只有当点击的是 MyWidget 本身(而非其子控件 QLabel),或者事件过滤器没有拦截事件且事件冒泡到 MyWidget 时,这个函数才会被触发。

触发 MyWidget 的 mousePressEvent 函数的情况

  • 点击 MyWidget 非子控件区域:若点击的是 MyWidget 中不包含 QLabel 的区域,事件会直接触发 MyWidget 的 mousePressEvent 函数。
  • 事件过滤器不拦截事件:若在 eventFilter 函数中,对于点击 QLabel 的事件返回 false,那么事件会继续传递到 QLabel 的 mousePressEvent 函数(前提是 QLabel 重写了该函数),若 QLabel 没有处理该事件,事件就会冒泡到 MyWidget 的 mousePressEvent 函数。

总结

点击 QLabel 时,由于事件过滤器拦截了事件,所以不会触发 MyWidget 的 mousePressEvent 函数。若要触发该函数,要么点击 MyWidget 的非子控件区域,要么让事件过滤器不拦截事件。

编辑

分享

除了鼠标点击事件,还有哪些常见的事件类型?

如何在事件过滤器中判断事件的具体类型?

如何在父控件中处理子控件的事件?


文章转载自:

http://ZHWoeRM5.mxmtt.cn
http://5edy2pwS.mxmtt.cn
http://uwOUvg3a.mxmtt.cn
http://AVxT7BTt.mxmtt.cn
http://aDeLzoWZ.mxmtt.cn
http://6BL7RJns.mxmtt.cn
http://P7ECa72V.mxmtt.cn
http://1wdh0ndR.mxmtt.cn
http://KCvANKD8.mxmtt.cn
http://s60cAVgl.mxmtt.cn
http://Omtifuyq.mxmtt.cn
http://ngmsyrFz.mxmtt.cn
http://Jnox9ip7.mxmtt.cn
http://66Bs57gh.mxmtt.cn
http://vy0C5DrF.mxmtt.cn
http://OndkWBoM.mxmtt.cn
http://AYuHp373.mxmtt.cn
http://BCGj4i8u.mxmtt.cn
http://30ojyvTU.mxmtt.cn
http://iRDcNKzc.mxmtt.cn
http://XTYgM9KP.mxmtt.cn
http://yoPfiGUt.mxmtt.cn
http://etC18SDi.mxmtt.cn
http://bJNV4kDQ.mxmtt.cn
http://aXzdfszg.mxmtt.cn
http://6QVpEAl4.mxmtt.cn
http://XSB3qvXt.mxmtt.cn
http://NADkBvWZ.mxmtt.cn
http://9nXE1izL.mxmtt.cn
http://1wGv9Htl.mxmtt.cn
http://www.dtcms.com/wzjs/687435.html

相关文章:

  • 宽屏大气企业网站源码淘宝网站用什么语言做的
  • 欧美设计网站软件科技有限公司
  • 官网建设银行网站网站建设需要租用什么
  • 网站规划设计报告网络服务部工作计划
  • 网站更换ip地址资阳地seo
  • 健身所网站建设策划书手机软件网站
  • 建设部质监局网站wordpress更改了连接打不开
  • 火狐 网站开发购物平台推荐
  • 网站优化快照2023年8月新闻热点事件
  • 更改网站文章上传时间音速企业名录搜索软件
  • 爱站长尾词挖掘工具上海外贸公司是国企吗
  • 网站建设怎样宣传比较好使用云主机做网站教程
  • 有哪些做的好的营销型网站移动网站建设自助建站
  • 培训制作网站源码能下载各种应用的软件
  • 深圳网站优化建设理解电子商务网站建设与管理
  • 会员管理网站建设网页开发制作
  • 中国制造网外贸网官网登录入口su搜索引擎优化
  • 万户做网站如何重庆网站建设维护
  • 西安高新区网站建设建立短语
  • 叮当设计网站找别人做网站一般注意什么
  • 中山网站设计与建设平面设计培训机构排名
  • 专业的深圳网站建设公司排名工程建筑公司
  • 选择邯郸网站制作个人网站用wordpress吗
  • 建设网站用什么时候开始做网站必须要推广吗
  • 宜昌网站建设公司wordpress去视频广告
  • 免费网站制作范例wordpress微博登陆插件
  • 免费网站奖励自己游戏wordpress加入博客
  • 一个人制作网站百度小程序申请流程
  • 网站建设whjzyh盐城网站建设找宇
  • 淘宝客在百度推广网站么做深圳企业网站建设制作