QT开发之画图(一)

1、画圆角矩形: drawRoundedRect()

void QPainter::drawRoundedRect(const QRectF &rect, qreal xRadius, qreal yRadius, Qt::SizeMode mode = Qt::AbsoluteSize)

QPainter p(this);
    p.setPen(QColor(255,0,0));
    QRect rect(100,100,100,100);//构造一个矩形
    p.setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing);//反走样
    //p.drawRoundRect(rect,15,15);
    p.drawRoundedRect(rect,5,5,Qt::AbsoluteSize);//

输出图形:

 

2、绘制多边形填充颜色+透明渐变

point_move_comp1和point_move_comp1坐标为(0,135)

int comp1_y = 135 - point_move_comp1.x();
// 设置渐变色
    QLinearGradient linear(QPointF(0, 0), QPointF(100, 100));
    linear.setColorAt(0, QColor(68, 217, 196,255));
    linear.setColorAt(1, QColor(68, 217, 196,20));

    // 设置显示模式
    linear.setSpread(QGradient::PadSpread);
    // 设置画刷填充
    painter.setBrush(linear);
    painter.setPen(QPen(QColor(255, 255, 255,0), 1));
    //定义四个点
    QPointF points[4] =
    {
        QPointF(0,0),
        QPointF(100,100),
        QPointF(0,100),
        QPointF(200,0)
    };
    //使用四个点绘制多边形
    painter.drawPolygon(points, 4);



    // 设置画笔颜色、宽度
    painter.setPen(QPen(QColor(255, 255, 255), 1));
    // 绘制椭圆
    painter.drawEllipse(QPointF(point_move_comp1.x(),comp1_y), 7, 7);
    // 设置画刷颜色
    painter.setBrush(QColor(255, 255, 255));
    // 绘制圆
    painter.drawEllipse(QPointF(point_move_comp1.x(),comp1_y), 7, 7);

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值