博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Qt之QPainter:提高绘制效率的方法
阅读量:6590 次
发布时间:2019-06-24

本文共 649 字,大约阅读时间需要 2 分钟。

hot3.png

如果我们用painter一个一个的绘制直线,圆等在控件上,绘制效率会不高。为了提高效率,我们可以设置一个画布pixmap,将所有的基础图形画布上,然后把画布画在控件上。

#include 
void Widget::paintEvent(QPaintEvent *){ QPixmap pixmap(size()); //将画布的大小设置为和widget一样的 QPainter painter(&pixmap); //在画布上常见一个画家 painter.setBrush(Qt::yellow); painter.setPen(QPen(Qt::red, 2, Qt::DashLine)); painter.drawEllipse(QPoint(95, 333), 50, 50); painter.drawText(QPoint(50, 50), "Hello world"); painter.end(); //画完了 painter.begin(this); //在Widget上开始绘制 painter.drawPixmap(0, 0, pixmap); //在控件上绘制pixmap图像 painter.drawLine(QPoint(50, 50), QPoint(60, 10));}

a716c956f56d3402633515d522becac1183.jpg

转载于:https://my.oschina.net/u/3919756/blog/1944747

你可能感兴趣的文章
数据结构与算法14-栈和队列练习题
查看>>
JEESZ-SSO解决方案
查看>>
RS-232、RS422和RS-485的区别和各自的实现方式
查看>>
Java程序员面试失败的5大原因
查看>>
深入理解Java的分级引用模型
查看>>
PyCharm入门教程——在编辑器中选择文本
查看>>
2.2 流程控制-for序列 2.3 流程控制-for字典 2.4 循环退出 2.5 流程控制-while
查看>>
多币种钱包开发:什么是工作量证明(POW)?
查看>>
kotlin使用mapstruct(二)
查看>>
树形结构的数据库表Schema设计
查看>>
“如何学习”系列文章2007年全部文章索引
查看>>
AlloyTeam|腾讯全端 AlloyTeam 团队 - HTML5开源图像处理框架AlloyImage
查看>>
判断两个List<Integer>是否包含同样的值,不考虑位置关系
查看>>
oracle数据库的重复数据处理
查看>>
Android推送通知指南
查看>>
Javascript 加载详解
查看>>
Android Arcface人脸识别sdk使用工具类
查看>>
hdoj_1711_Number Sequence
查看>>
android studio单个工程文件的代理设置
查看>>
Centos 查看 登录 登出 重启 日志
查看>>