Qt畫箭頭
下面是畫箭頭的程式碼:
void drawArrow(QPoint startPoint, QPoint endPoint, QPainter &p)
{
double par = 15.0;//箭頭部分三角形的腰長
double slopy = atan2((endPoint.y() - startPoint.y()), (endPoint.x() - startPoint.x()));
double cosy = cos(slopy);
double siny = sin(slopy);
QPoint point1 = QPoint(endPoint.x() + int(-par*cosy - (par / 2.0*siny)), endPoint.y() + int(-par*siny + (par / 2.0*cosy)));
QPoint point2 = QPoint(endPoint.x() + int(-par*cosy + (par / 2.0*siny)), endPoint.y() - int(par / 2.0*cosy + par*siny));
QPoint points[3] = { endPoint, point1, point2 };
p.setRenderHint(QPainter::Antialiasing, true);//消鋸齒
QPen drawTrianglePen;//建立畫筆
drawTrianglePen.setColor(Qt::red);
drawTrianglePen.setWidth(1);
p.setPen(drawTrianglePen);
p.drawPolygon(points, 3);//繪製箭頭部分
int offsetX = int(par*siny / 3);
int offsetY = int(par*cosy / 3);
QPoint point3, point4;
point3 = QPoint(endPoint.x() + int(-par*cosy - (par / 2.0*siny)) + offsetX, endPoint.y() + int(-par*siny + (par / 2.0*cosy)) - offsetY);
point4 = QPoint(endPoint.x() + int(-par*cosy + (par / 2.0*siny) - offsetX), endPoint.y() - int(par / 2.0*cosy + par*siny) + offsetY);
QPoint arrowBodyPoints[3] = { startPoint, point3, point4 };
p.drawPolygon(arrowBodyPoints, 3);//繪製箭身部分
}
相關文章
- 箭頭→箭頭 matlab畫圖Matlab
- Qt繪製自定義箭頭圖元QT
- cad箭頭快捷鍵命令 cad怎麼畫帶箭頭的線
- qt中設定tab樣式為箭頭QT
- qt中的控制元件QSpinBox的用法(去掉小箭頭)QT控制元件
- 箭頭函式函式
- JavaScript 箭頭函式JavaScript函式
- TypeScript 箭頭函式TypeScript函式
- javascript箭頭函式JavaScript函式
- JS箭頭函式JS函式
- 箭頭函式中的this函式
- 有關箭頭函式函式
- 箭頭函式詳解函式
- 箭頭特殊符號大全符號
- 箭頭旋轉程式碼
- QT樣式: QSpinBox按鈕箭頭 up-button 和 down-button變換位置QT
- Qt5.9中利用QSS更改QTreeView的展開節點箭頭小圖示用法QTView
- win10 如何打出箭頭_win10電腦如何打出箭頭符號Win10符號
- win10去掉圖示小箭頭 怎麼去除桌面快捷方式箭頭Win10
- 箭頭函式this指向的陷阱函式
- ES6箭頭函式函式
- 箭頭函式this指向詳解函式
- 箭頭函式的this指向(二)函式
- 去掉input number的上下箭頭
- [譯]箭頭函式 vs .bind()函式
- 箭頭旋轉+正弦波
- windows10怎麼去掉小箭頭_win10電腦去掉快捷箭頭的方法WindowsWin10
- Win10怎麼修改滑鼠箭頭 win10系統換滑鼠箭頭的方法Win10
- JS中的箭頭函式與thisJS函式
- 深入理解JavaScript中的箭頭JavaScript
- CSS空心箭頭程式碼例項CSS
- JavaScript(ES6)—箭頭函式JavaScript函式
- css帶有圓角尾巴箭頭CSS
- css帶有空心箭頭矩形效果CSS
- CSS實現帶箭頭按鈕CSS
- JavaScript初學者必看“箭頭函式”JavaScript函式
- 用純CSS實現的箭頭CSS
- 設定ExpandableListView右邊的箭頭View