美文网首页Qt
Qt开源作品27-鼠标定位十字线

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

作者: feiyangqingyun | 来源:发表于2020-06-07 10:13 被阅读0次

    一、前言

    上次有个群友在咨询这个问题,如何用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());
    }
    

    三、效果图

    在这里插入图片描述

    四、开源主页

    以上作品完整源码下载都在开源主页,会持续不断更新作品数量和质量,欢迎各位关注。

    1. 国内站点:https://gitee.com/feiyangqingyun/QWidgetDemo
    2. 国际站点:https://github.com/feiyangqingyun/QWidgetDemo
    3. 个人主页:https://blog.csdn.net/feiyangqingyun
    4. 知乎主页:https://www.zhihu.com/people/feiyangqingyun/

    相关文章

      网友评论

        本文标题:Qt开源作品27-鼠标定位十字线

        本文链接:https://www.haomeiwen.com/subject/mmwwzhtx.html