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());
}

三、效果圖

四、開源主頁

以上作品完整源碼下載都在開源主頁,會持續不斷更新作品數量和質量,歡迎各位關注。

  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/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM