qt画旋转的带箭头的线段
2014-12-09 11:26
1906 查看
tesb::tesb(QWidget *parent) : QWidget(parent) { ui.setupUi(this); } void tesb::DrawCustomLine(QPainter& _painter, double _angle, double _len, const QString& _name, const QColor& _color) { // 初始化 _painter.resetTransform(); // 重设画笔 _painter.translate(QPoint(300,300)); _painter.setPen(QPen(Qt::black, 2)); // 绘制线段 QLine _line(QPoint(0,0), QPoint(_len,0)); _painter.rotate(_angle); _painter.drawLine(_line); // 绘制箭头 int off_x = 10; QPainterPath _path; _path.moveTo(_len-off_x, -5); _path.lineTo(_len,0); _path.lineTo(_len-off_x,5); _painter.drawPath(_path); // 绘制名称 _painter.setPen(_color); QFont _font = _painter.font(); _font.setPointSize(10); _font.setBold(true); _painter.setFont(_font); _painter.drawText(QPoint(_len-2*off_x,-10), _name); } void tesb::paintEvent( QPaintEvent *ev ) { QPainter _painter(this); _painter.setPen(QPen(Qt::black, 2)); // 反锯齿 _painter.setRenderHint(QPainter::Antialiasing); // 将画笔中心点移动至(300,300) _painter.translate(QPoint(300,300)); // 绘制中心点 _painter.drawPoint(QPoint(0,0)); // 绘制外圆 _painter.drawEllipse(QRect(-150,-150,300,300)); DrawCustomLine(_painter, 0, 150, "Da", Qt::red); DrawCustomLine(_painter, 123.5, 130, "Db", Qt::green); DrawCustomLine(_painter, -45, 30, "Dc", Qt::blue); DrawCustomLine(_painter, -145, 60, "Dd", Qt::yellow); QWidget::paintEvent(ev); }
相关文章推荐
- Qt绘制带箭头的线段
- QT绘制多边形、渐变线段、文字、带线段的箭头
- Qt:绘画箭头线段
- qt实现透视旋转
- Android创建旋转箭头-不恢复原位-旋转动画的使用
- Qt实现图片旋转
- 自定义带箭头圆圈,自定义点击事件可以加减速,暂停继续,自动旋转
- 带旋转箭头的popupWindow的外部点击事件和控件点击事件冲突解决
- hdu 2823(旋转卡壳+线段相交判断+点在多边形内判断)
- python生成中文验证码,带旋转,带干扰噪音线段
- TouchVG 支持线段箭头了
- 【Qt OpenGL教程】04:旋转
- linux嵌入式qt的屏幕旋转与字体大小问题
- QtEmbedded-4.7.3-arm 移植、触摸屏移植、去掉鼠标箭头
- Qt绘图,显示图片图像,平移,缩放,旋转和扭曲图片的方法
- 程序猿谈恋爱什么的·QT自定义符文旋转按钮
- Qt可显示基本的图像类型,利用QImage、QPxmap类可以实现图像的显示,并且利用类中的方法可以实现图像的基本操作(缩放、旋转)。
- [经验分享] QT图片之缩放与旋转
- 带方向箭头的线段
- QT与OpenGL之三维旋转