Qt的paint函数重写,以及QPaint给一条线绘制箭头
2018-02-06 21:41
453 查看
直接代码:
QPainter *painter; static const double Pi = 3.14159265358979323846264338327950288419717;
static double TwoPi = 2.0 * Pi;
QLineF line(sourcePoint,destPoint);
if (qFuzzyCompare(line.length(), qreal(0.)))
return;
painter->setPen(QPen(Qt::black, 1, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
painter->drawLine(line);
double angle = ::acos(line.dx() / line.length());
if (line.dy() >= 0)
angle = TwoPi - angle;
QPointF destArrowP1 = destPoint + QPointF(sin(angle - Pi / 3) * arrowSize,
cos(angle - Pi / 3) * arrowSize);
QPointF destArrowP2 = destPoint + QPointF(sin(angle - Pi + Pi / 3) * arrowSize,
cos(angle - Pi + Pi / 3) * arrowSize);
painter->drawLine(QLineF(destArrowP1,destPoint));
painter->drawLine(QLineF(destArrowP2,destPoint));
http://blog.csdn.net/u010177010/article/details/51496188[/code]
相关文章推荐
- Qt的paint函数重写,以及QPaint给一条线绘制箭头
- Qt 画图,void A::paintEvent(QPaintEvent *event){..}这函数怎么调用它?
- WM_PAINT以及窗口绘制
- QT中关闭应用程序和窗口的函数(quit(),exit()以及close()的区别)
- 在js中获取query string 以及重写URL的函数
- Qt绘制带箭头的线段
- Qt paintEvent绘制窗体
- Qt开发 槽函数定义,以及槽函数二次响应多次响应问题
- 使用QT搭建点云显示框架系列五·基于QT的QML图像选点、动态绘制十字丝功能 ,以及纹理映射
- Qt paintEvent绘制窗体 注意Qt::WA_PaintOutsidePaintEvent 只是适用于X11,其他系统均无效
- Lambda表达式以及在QT5信号槽函数connect中的应用
- QT中关闭应用程序和窗口的函数(quit(),exit()以及close()的区别)
- Qt控件函数的重写
- C++父类子类间函数重定义,虚函数重写(覆盖)以及重载
- Qt中的文本编码,以及tr函数
- 在js中获取query string 以及重写URL的函数
- Qt利用QPainter绘制心形以及Qt设置透明窗体的四种方法
- Qt:postEvent 与 customEvent() 函数 进行异步通信; 以及参数的传递 // 防止界面卡死;;
- 『0008』- Solidity中public、internal、private在状态变量和函数中的使用以及Solidity智能合约继承、重写
- 部分C库函数重写以及反汇编分析之memcpy()