使用QPainter绘制简单图形

简介

QPainter是用来进行绘图操作的类。
QPaintDevice是QPainter用来绘图的抽象的二维界面,一般的绘图设备包括QWidget,QPixmap,QImage等。
QPaintEngine提供在不同设备上绘图的接口(该系统内部使用,一般无需与此打交道)。

QWidget是最常用的绘图设备,从QWidget类继承的类都有paintEvent事件。在此设备上绘图,只需重定义此事件并编写响应代码,创建一个QPainter对象获取绘图设备的接口,然后就可以在绘图设备上绘画了。基本结构:void Widget::paintEvent(QPainteEvent* event){QPainter painter(this);…}

QPainter在绘图上绘图,主要是绘制一些基本图形,如点,直线,矩形,椭圆,文字等。控制这些绘图元素特征的主要是QPainter的3个属性(QPen,QBrush,QFont)。

绘制一个点

根据两个坐标点,可以绘制一个点

QPainter painter(this);
//方法1
QPoint point(50,50);
painter.drawPoint(point);
//方法2
painter.drawPoint(50,50);

绘制一条线

根据两个坐标点,可以绘制一条线

QPainter painter(this);
//方法1
QPoint point1(0,0);
QPoint point2(50,50);
painter.drawLine(point1,point2);
//方法2
painter.drawLine(0,0,50,50);

绘制一个矩形

根据一个坐标点(10,10),和矩形的长宽值(60,80),可以绘制一个矩形

QPainter painter(this);
//方法1
QRect rect(10,10,60,80);
painter.drawRect(rect);
//方法2
painter.drawRect(10,10,60,80);

绘制一个椭圆

根据一个坐标点(10,10),和矩形的长宽值(60,80),可以绘制一个椭圆

QPainter painter(this);
//方法1
QRect rect(10,10,60,80);
painter.drawEllipse(rect);
//方法2
painter.drawEllipse(10,10,60,80);

矩形的长宽值相等时,所绘制的就是圆形。

绘制文字

根据一个坐标点(10,10),和矩形的长宽值(60,80),可以绘制一个椭圆

QPainter painter(this);
QRect rect(10,10,60,80);
QFont font;
font.setPointSize(30);
font.setBold(true);
painter.setFont(font);
painter.drawText(rect,"Hello");

只能绘制单行文字,字体属性有QPainter::font()决定。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值