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

QPainterPath判断点是否在路径内

QPainterPath判断给定点是否在路径内是通过contains方法进行判断,该例子中判断鼠标移动点位生效需要添加setMouseTracking(true)方法。以下为具体实现:

 1 #include <QPainter>
 2 #include <QMouseEvent>
 3 #include <QDebug>
 4 Widget::Widget(QWidget *parent)
 5     : QWidget(parent)
 6 {
 7     setMouseTracking(true);
 8 }
 9 
10 Widget::~Widget()
11 {
12 
13 }
14 
15 static QPainterPath path;
16 static QString strShow="not init";
17 void Widget::paintEvent(QPaintEvent *event)
18 {
19     Q_UNUSED(event);
20 
21     QPainter painter(this);
22     painter.fillRect(this->rect(),QBrush(QColor(255,255,255)));
23     painter.setRenderHint(QPainter::Antialiasing,true);//抗锯齿
24 
25     QRect rt(this->width()/2-100,this->height()/2-50,200,100);
26     painter.fillRect(this->rect(),QBrush(QColor(0,0,0)));
27     painter.fillRect(rt,QBrush(QColor(0,255,0,100),Qt::BrushStyle::Dense6Pattern));
28 
29     path = QPainterPath();
30     path.addEllipse(this->rect());
31     painter.setPen(QColor(255,0,0));
32     painter.drawPath(path);
33 
34     painter.setFont(QFont("New Roman",30,30,false));
35     painter.drawText(rt,Qt::AlignCenter,strShow);
36 }
37 
38 void Widget::mouseMoveEvent(QMouseEvent *event)
39 {
40     if(path.contains(event->pos()))
41     {
42         qDebug()<<"in";
43         strShow = "in";
44     }
45     else
46     {
47         qDebug()<<"out";
48         strShow = "out";
49     }
50     update();
51 }

路径命中

http://www.jsqmd.com/news/317436/

相关文章:

  • 企业套保策略平台合同与交易联动机制
  • 国内外水处理设备哪家好?2026最新厂家推荐,涵盖定制、全自动、专业级全品类
  • 2026深圳宝安可申请租金补贴及企业落户奖励的创业园区推荐
  • 【ES】【实战】----index索引数量过大,后缀加日期处理 实战过程 xxxx_20250906
  • c++的RAII
  • 2026深圳办公室出租推荐:产业园区与电商孵化空间深度解析
  • 2026年湖北旅游攻略路线推荐:深度评测与排名,涵盖自然与人文场景核心痛点
  • 2026年当下知名的推拉窗设计需要多少钱,六轨断桥推拉窗/门窗/安全门窗/断桥铝门窗,推拉窗直销厂家选哪家
  • 2026年1月安徽高端偶联剂/钛酸酯偶联剂/钛酸异丙酯/交联剂/钛酸酯交联剂/钛酸正丁酯采购终极指南:赋能材料未来
  • 2026年快充充电宝品牌推荐与深度解析:便携大容量安全选购权威指南
  • Nodejs+vue微信小程序的大学生专业认证考试资源共享平台
  • 大模型Memory系统完全指南:从技术原理到工程实践的全面解析(建议收藏)
  • Nodejs+vue志愿者活动报名服务小程序设计与开发
  • 从零开始学大模型评估:DeepResearchEval框架全面解析与实战(收藏必学)
  • 大视觉语言模型完全指南:多模态虚假新闻检测技术详解与学习路径
  • 微调之后还能做什么?大模型后训练完全指南:从理论到实践,小白也能懂
  • 强烈安利9个AI论文软件,本科生轻松搞定毕业论文!
  • 2026年选矿设备厂家推荐:基于多场景实测评价,解决效率与兼容性核心痛点
  • 亲测好用!继续教育10款一键生成论文工具深度测评
  • 2026 最新液位计/变送器/传感器/过程仪表/流量计品牌 TOP5 评测!技术赋能工业精准测控,权威榜单发布
  • 2026年高性价比健身教练培训基地有哪些?
  • 2026年选矿设备厂家推荐:技术趋势与合规标准评价,针对能耗与安全痛点指南
  • 冷轧钢带生产厂选哪家好,深入分析优质企业
  • Python接口测试实践:参数化测试、数据驱动测试和断言的使用
  • 一文教你Jenkins整合Jmeter实现自动化接口测试
  • 易卡随行:JAVA打造智能名片管理新体验
  • 2026年学习桌椅终极选型指南:TOP5品牌双升降能力与门店售后深度测评
  • 国产操作系统全解析:深度认识银河麒麟系统及其与Windows的本质差异
  • 企业破产重整律师事务所费用怎么收,为你盘点靠谱品牌
  • 2026年度必选优质叶黄素品牌TOP10推荐,好用易吸收不踩雷,照选难踩坑!