Qt界面简单绘图学习笔记

来源:互联网 发布:手机添加网络 编辑:程序博客网 时间:2024/09/21 06:37

QT界面绘图

1.paintEvent事件

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

2.画线条

2.1 使用方法p.drawLine2.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.drawRect3.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
原创粉丝点击