Qt界面简单绘图学习笔记

QT界面绘图

1.paintEvent事件

1.1 只能在该事件内进行绘图
1.2 该事件会在改变窗口大小,调用update()函数时进行刷新。
1.3 需要加头文件#include<QPainter>
1.4 需要在内创建一个QPainter类的对象才能进行绘图:
    QPainter p(this);this表示在该窗口绘图。

2.画线条

2.1 使用方法p.drawLine
2.2 直接传参:
    p.drawLine(10,10,100,100);//前两个参数表示前一个点的坐标,后两个参数表示下一个点的x和y坐标。
2.3 先使用QLine(QLineF)类创建线条,在画线
    QLineF line(10.5,12.8,100.9,110.2);//坐标为浮点数
    QLine line2(120,100,200,200);//坐标为整型值
    p.drawLine(10,10,100,100);
    p.drawLine(line);
    p.drawLine(line2);

3.画矩形

3.1 使用方法p.drawRect
3.2 直接传参:
    p.drawRect(10,10,200,200);//前两个参数表示矩形左上角顶点的x和y坐标。后两个参数代表矩形的宽度和高度。
3.3 先使用QRect(QRectF)类创建矩形,在传参画矩形
    //参数为浮点数,width()和height()方法能获取到当前窗口的宽度和高度,所以该矩形能随着窗口大小动态变化。
    QRectF rectangle(10.0,10.0,width()-20,height()-40);
    p.drawRect(rectangle);

4.画圆,椭圆

4.1 使用方法p.drawEllipse,参数需要的是矩形,画的是矩形的内接椭圆,如果矩形为正方形,则画的是圆形。
4.2 直接传参:
p.drawEllipse(10,10,20,20);//参数含义画矩形相同
4.3 先使用先使用QRect(QRectF)类创建矩形,在传参画矩形的内接椭圆
    QRectF rectangle(10.0,10.0,width()-20,height()-40);
    p.drawEllipse(rectangele);

5.画扇形

5.1 使用方法p.drawPie 参数为三个,分别是椭圆的外接矩形,起始角度(三点钟方向为0°,逆时针计算),和转过的角度。
5.2 定义参数
    QRectF rectangle(10.0,10.0,width()-20,height()-40);
    int startAngle = 30 * 16 ;//起始角度,单位为1/16度 30 * 16就是30度
    int spanAngle = 120 * 16;//夹角
    p.drawPie(rectangle,startAngle,spanAngle);//画扇形

6.改变线条和填充

6.1 定义画笔对象和填充对象
    QPen pen;//画笔对象
    QBrush brush;//填充对象
6.2 设置画笔的粗细和填充的方式及颜色
    pen.setColor(QColor(0,255,255,255));//画笔颜色
    pen.setWidth(2);//画笔粗细
    brush.setColor(Qt::black);//填充颜色
    brush.setStyle(Qt::CrossPattern);//填充类型
6.3 关键是要将画笔和填充和QPainter对象绑定
    p.setBrush(brush);//给p绑定一个填充对象brush
    p.setPen(pen);//给p绑定一个指定的画笔pen
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值