QT5 零基础教你简单窗口绘图

前言

  在实际工程中,许多时候需要绘图操作,例如,在获得一系列数据后,需要把数据绘制成折线图显示在窗口中,那么这时需要用到绘图操作。这篇文章从零基础开始,教你QT绘制图形。


具体步骤

1、首先在.h头文件中建立保护类型绘图事件:
protected:
    void paintEvent(QPaintEvent *);
2、在.cpp中包含#include <QPainter>
3、在.cpp中调用绘图事件:
void Widget::paintEvent(QPaintEvent *)
{
    QPainter p;		//创建绘图对象
    p.begin(this);

    p.drawLine(50,50,150,50);		//给出绘图坐标
}

  绘图坐标需要给出绘图的起点和终点,例如画直线时的构造函数为

p.drawLine(x轴起始坐标,y轴起始坐标,x轴终止坐标,y轴终止坐标);

  以上绘图结果如图示:
在这里插入图片描述
  显然,这样画出来的图线并不令人满意。因此,我们可以进一步,用画笔的形式来绘图。

4.在.cpp中包含头文件#include <QPen>
5.在上述绘图过程中插入画笔
    QPen pen;				                //创建画笔对象
    pen.setWidth(5);	   				    //设定画笔线条宽度
    pen.setColor(QColor(142,16,126));		//设定线条颜色
    p.setPen(pen);			                //把画笔交给画家

  绘图结果如下:
在这里插入图片描述
  我们就改变了线条的宽度和颜色。


改变线条颜色

在.cpp中包含头文件#include <QPen>,改变线条颜色有两种方式:
  (1)使用Qt颜色库pen.setColor(Qt::blue);,方便简洁,缺点是颜色单一,不一定能取到我们喜欢的颜色。

颜色颜色
Qt::whiteQt::black
Qt::redQt::darkRed
Qt::greenQt::darkGreen
Qt::blueQt::darkBlue
Qt::cyanQt::darkCyan
Qt::magentaQt::darkMagenta
Qt::yellowQt::darkYellow
Qt::grayQt::darkGray
Qt::lightGrayQt::transparent

  (2)使用RGB颜色库pen.setColor(QColor(142,16,126));可以调出任意一种颜色,需要借助图形界面.UI文件或者RGB调色板。
在这里插入图片描述


改变线条线型

  Qt亦提供了几种不同的线型
在这里插入图片描述
  插入改变线型代码:pen.setStyle(Qt::DashDotDotLine);
  改变线型后可如下图:
在这里插入图片描述

p.drawRect(x轴起点, y轴起点, 长度, 宽度);						//绘制矩形
p.drawEllipse(QPoint(x轴起点, y轴起点), x轴半径, y轴半径);		//绘制圆形

设置填充

  需要在.cpp中包含头文件#include <QBrush>

    QBrush brush;												//创建一个刷子对象
    brush.setColor(Qt::red);									//设置粉刷颜色
    brush.setStyle(Qt::Dense1Pattern);							//设置风格

  QT中内置的风格包含以下几种:
在这里插入图片描述


窗口重绘

在绘图时需要不断更新窗口进行绘图时(例如绘制实时曲线),可进行以下命令调用:

update();

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值