QT 绘制 五角图案

这里写图片描述
此图 只作为 这种图形的角度说明。。。

代码如下:

    QPainter painter(this);
    QPainterPath path;
//    path.addEllipse(10,50,100,100);
//    path.addRect(50,100,100,100);
//    painter.setBrush(Qt::red);
//    painter.drawPath(path);

//    painter.translate(180,0);
//    path.setFillRule(Qt::WindingFill);//OddEvenFill
//    painter.drawPath(path);
//    path.closeSubpath();

    QPainterPath starPath;
    starPath.moveTo(200+100,150);
    painter.drawText(300,150,QString("(%1,%2)").arg(300).arg(150));
    QPoint point;
    for (int i = 1; i < 5; ++i)
    {
        starPath.lineTo(200 + 100 * cos(0.8 * i * Pi),
                        150 + 100 * sin(0.8 * i * Pi));
        point = QPoint((200 + 100 * cos(0.8 * i * Pi)),(150 + 100 * sin(0.8 * i * Pi)));
        painter.drawText((200 + 100 * cos(0.8 * i * Pi)),(150 + 100 * sin(0.8 * i * Pi)),
                         QString("(%1,%2)").arg(point.x()).arg(point.y()));
    }
    starPath.lineTo(300,150);
    painter.drawPath(starPath);
    painter.drawEllipse(100,50,200,200);
    starPath.closeSubpath();

效果如下图
这里写图片描述

圆心(100,50), 半径100,
之后 就是在 0.8π(36°) 上边作文章了, ,,

可见 QT的例程 有类似的,…..Qt5.4.0\Examples\Qt-5.4\widgets\painting\painterpaths

以上 留存。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值