Qt的paint函数重写,以及QPaint给一条线绘制箭头
来源:互联网 发布:青岛好玩的地方知乎 编辑:程序博客网 时间:2024/05/21 08:24
直接代码:
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));
0 0
- Qt的paint函数重写,以及QPaint给一条线绘制箭头
- Qt学习笔记:画一条带箭头的线
- Qt绘制带箭头的线段
- QT绘制多边形、渐变线段、文字、带线段的箭头
- Qt控件函数的重写
- 使用SVG绘制带箭头的线
- 使用SVG绘制带箭头的线
- Java箭头的绘制
- Qt如何绘制边框,如何画一条线
- Qt绘制系统(Paint System)
- QT的Paint 系统
- QT的Paint 系统
- QT的Paint 系统
- QT的Paint 系统
- QT的Paint 系统
- QT的Paint 系统
- QT的Paint 系统
- Paint绘制简单的进度条
- C++学习步骤 - 09年旧文
- form表单提交中文乱码的详细解析
- android studio 中几个常用的快捷组合键!(win下)
- 那些年搞不懂的高深术语——依赖倒置•控制反转•依赖注入•面向接口编程
- ClassLoader,ASM,Cglib,Bytecode
- Qt的paint函数重写,以及QPaint给一条线绘制箭头
- 改变状态栏样式
- 霍夫变换(Hough Transform)
- 深度优先算法(DFS)
- html的meta总结
- 调整数组顺序使奇数位于偶数前面及运用解耦方法解决扩展问题
- 模块签名
- 使用dos2unix批量转换文件
- Java集合框架