liudianwu |
2020-06-04 09:00 |
Qt开源作品27-鼠标定位十字线
## 一、前言 上次有个群友在咨询这个问题,如何用Qt绘制一个鼠标定位的十字线,花了两分钟整了个,最没有含金量的一个demo,就是用drawline绘制了两条线,这个效果在经典的CAD软件中很常用,还有一些股票软件,也有这种十字线定位线,有时候需要在十字交叉地方获取对应点的数据来显示等。Qt来绘制各种效果还是非常方便的,还是那句话:心中有坐标,万物皆painter。
## 二、代码思路 ```c++ 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()); } ```
## 三、效果图 [attachment=21652]
|
|