Qt开源作品27-鼠标定位十字线

一、前言

上次有个群友在咨询这个问题,如何用Qt绘制一个鼠标定位的十字线,花了两分钟整了个,最没有含金量的一个demo,就是用drawline绘制了两条线,这个效果在经典的CAD软件中很常用,还有一些股票软件,也有这种十字线定位线,有时候需要在十字交叉地方获取对应点的数据来显示等。Qt来绘制各种效果还是非常方便的,还是那句话:心中有坐标,万物皆painter。

二、代码思路

void Widget::mouseMoveEvent(QMouseEvent *event)
{
    lastPos = event->pos();
    update();
}

void Widget::mouseReleaseEvent(QMouseEvent *event)
{
    //这里是鼠标按下的坐标,自己存到数据库
    lastPos = event->pos();
    update();
    qDebug() << lastPos;
}

void Widget::paintEvent(QPaintEvent *)
{
    QPainter painter(this);

    QPen pen;
    pen.setWidth(5);
    pen.setColor(Qt::red);
    painter.setPen(pen);

    //绘制横向线
    painter.drawLine(0, lastPos.y(), width(), lastPos.y());
    //绘制纵向线
    painter.drawLine(lastPos.x(), 0, lastPos.x(), height());
}

三、效果图

四、开源主页

  • 以上作品完整源码下载都在开源主页,会持续不断更新作品数量和质量,欢迎各位关注。
  • 本开源项目已经成功升级到V2.0版本,分门别类,图文并茂,保你爽到爆。
  • Qt开源武林秘籍开发经验,看完学完,20K起薪,没有找我!
  1. 国内站点:https://gitee.com/feiyangqingyun/QWidgetDemo
  2. 国际站点:https://github.com/feiyangqingyun/QWidgetDemo
  3. 开源秘籍:https://gitee.com/feiyangqingyun/qtkaifajingyan
  4. 个人主页:https://qtchina.blog.csdn.net/
  5. 知乎主页:https://www.zhihu.com/people/feiyangqingyun/
posted @   飞扬青云  阅读(1702)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2019-06-04 Qt编写自定义控件21-圆弧仪表盘
点击右上角即可分享
微信分享提示