1. 程式人生 > >Qt繪製帶箭頭的線段

Qt繪製帶箭頭的線段

float x1 = lastPoint.x();         //lastPoint 起點

float y1 = lastPoint.y();

float x2 = endPoint.x();           //endPoint 終點

float y2 = endPoint.y();

float l = 10.0;                   //箭頭的那長度

float a = 0.5;                       //箭頭與線段角度

float x3 = x2 - l * cos(atan2((y2 - y1) , (x2 - x1)) - a);

float y3 = y2 - l * sin(atan2((y2 - y1) , (x2 - x1)) - a);

float x4 = x2 - l * sin(atan2((x2 - x1) , (y2 - y1)) - a);

float y4 = y2 - l * cos(atan2((x2 - x1) , (y2 - y1)) - a);

painter.drawLine(x1,y1,x3,y3);

painter.drawLine(x1,y1,x4,y4);

painter.drawLine(lastPoint,endPoint);
發現網上關於Qt畫帶箭頭直線搜尋詞太少,樓主本著不想自己動腦子,網找一個的,竟然一個沒有,就算有也扯淡一樣的,沒有一點幫助

自己搞了一個,本人數學不好,如有更好的,希望各位分享一下。