QT事件整理(二)绘图事件

本文深入探讨了Qt库中的绘图事件和绘图对象,包括使用QPainter进行线、椭圆、矩形和文本的绘制,以及设置画笔和画刷的属性。此外,还介绍了QPixmap、QImage和QPicture等绘图设备的使用,如像素操作、图像保存和绘画指令的记录与重现。同时,讲解了如何实现抗锯齿效果和坐标变换等高级特性,为Qt图形界面开发提供了详细指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

绘图事件:
void paintEvent(QPaintEvent *) // 声明绘图事件
QPainter painter(this) // 声明一个画家对象,this指绘图设备
painter.drawLine // 画线
                   Ellipse // 画椭圆
                   Rect // 画矩形
                   Text // 画文字
                   .....
QPen pen (QColor(255,0,0)) // 设置画笔
pen.setWisth(3) // 设置画笔宽度
           Style(Qt::DotLine) // 设置画笔风格
QBrush brush // 设置画刷,同画笔
高级设置:
painter.setRenderHint(QPainter::Antialiasing) // 抗锯齿
painter.translate(100,0) // 移动画家
painter.save( ) // 保存画家状态
painter.restore( ) // 还原画家状态
update( ) // 手动调用绘图事件
painter.drawPixmap(x,y,QPixmap(":/XXX")) // 利用画家画资源图片

绘图设备:
QPixmap  QImage  QBitmap  QPicture  QWidget

QPixmap:对不同平台进行了优化
QPixmap pix(300,300) // 声明
pix.fill(填充色)
QPainter painter(&pix) // 利用画家绘画
pix.save("E://xxx") // 保存到磁盘

QImage:和QPixmap差不多,申明的时候多一个参数:
QImage img(300,300,QImage::Format_RGB32) // 多一个色系参数,可以自己选择
QRgb value = qRgb(255,0,0) // 设置value值
img.setPixel(x,y,value) // 修改像素点

QPictuer:记录,重现绘画指令
QPicture pic // 声明
painter.begin(&pic) // 开始在pic上绘画
painter.end( ) // 结束
pic.save("E://xxx.任意后缀") // 保存
pic.load("E://xxx.任意后缀") // 载入
painter.drawPicture(x,y,pic) // 利用保存的绘画过程重现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值