GitHub源码仓库:Qt学习例程

1. QPainter绘图抗锯齿

/// 抗锯齿测试 ///
painter.drawEllipse(QPoint(100,50), 50, 50);// 设置 抗锯齿能力,抗锯齿会让绘图效率较低
painter.setRenderHint(QPainter::Antialiasing);
painter.drawEllipse(QPoint(200,50), 50, 50);// 设置 抗锯齿能力,抗锯齿会让绘图效率较低
painter.setRenderHint(QPainter::HighQualityAntialiasing);
painter.drawEllipse(QPoint(300,50), 50, 50);

其他的抗锯齿参数还有:

2. 相对坐标、平移坐标系

/// 平移坐标系测试 ///
painter.drawRect(QRect(20,120, 50, 50));// 用给定的偏移量平移坐标系
painter.translate(100, 0);
// 保存painter状态
painter.save();painter.drawRect(QRect(20,120, 50, 50));// 还原坐标状态
painter.restore();
painter.drawRect(QRect(20,150, 50, 50));

3. QPainter画图片

新建资源编辑器,添加图片资源。并且记住想要绘制的图片路径。

绘图事件函数中,添加代码:

/// QPainter画图片 ///
painter.drawPixmap(20,200, QPixmap(":/pic/123.png"));

4. 手动调用QPainter绘图事件

以上的绘图只能在调用一次绘图,如果想要在程序运行的过程中绘图,需要手动调用QPainter绘图事件。

Qt中的update(); 相当于先清空屏幕,再重新执行一次绘图事件。

示例:我们创建一个按键,点击按键会让图片向右平移。

connect(ui->btnMove, &QPushButton::clicked, [=](){posX+=100;// 重新绘图,手动调用QPainter绘图事件,将整个窗口重新绘制update();
});
// 如果图片左侧超出屏幕,从0开始重新移动
if(posX > this->width())
{posX = 0;
}
/// QPainter画图片 ///
painter.drawPixmap(posX,200, QPixmap(":/pic/123.png"));

GitHub源码仓库:Qt学习例程

【Qt教程】3.5 - Qt5 QPainter绘图抗锯齿、相对坐标/平移坐标系、QPainter画图片、手动调用QPainter绘图事件相关推荐

  1. QT教程2:QT5的体系构架

    一.列出QT5体系内容 QT5的模块有• QtCore • QtGui • QtWidgets • QtMultimedia • QtBluetooth • QtNetwork • QtPositio ...

  2. QPainter QPixmap 抗锯齿

    在paintEvent(QPaintEvent *)实现函数里绘制图片出现边缘锯齿解决办法: pixmap.loadFromData(sealImage,sealImageLen);  pixmap ...

  3. php画图抗锯齿,GD绘图抗锯齿方案[PHP]

    最近在使用PHP gblib生成分享图片的过程中,使用了imagefilledellipse 画圆环用来显示进度,发现锯齿特别严重; 遂google,发现了pChart2这个开源图表库,其demo效果 ...

  4. 【Qt】2D绘图之抗锯齿渲染

    00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. 逻辑绘图 04. 物理绘图 05. 抗锯齿绘图 06. 附录 01. 概述 本部分的内容可以在帮助文档中通过Coordin ...

  5. Qt 2D绘图之二:抗锯齿渲染和坐标系统

    一.抗锯齿渲染 1.1 逻辑绘图 图形基元的大小(宽度和高度)始终与其数学模型相对应,下图示意了忽略其渲染时使用的画笔的宽度的样子. 1.2 物理绘图(默认情况) 在默认的情况下,绘制会产生锯齿,并且 ...

  6. QT QPainter::antialiasing QPainter::textAntialiasing 反走样、抗锯齿探究

    QT中使用QPainter 进行自行绘图的时候,为了防止"锯齿"的出现,我们会经常使用抗锯齿属性,也叫反走样, 既: QPainter::Antialiasing //绘图抗锯齿 ...

  7. 【QT开发笔记-基础篇】| 第五章 绘图QPainter | 5.13 抗锯齿

    本节对应的视频讲解:B_站_视_频 https://www.bilibili.com/video/BV1YP4y1B7Ex 本节讲解抗锯齿效果 前面实现的效果中,仔细观看能看到明显的锯齿的效果,如下: ...

  8. [Qt教程] 第13篇 2D绘图(三)绘制文字

    [Qt教程] 第13篇 2D绘图(三)绘制文字 楼主  发表于 2013-4-25 23:04:46 | 查看: 720| 回复: 0 绘制文字 版权声明 该文章原创于Qter开源社区,作者yafei ...

  9. [Qt教程] 第20篇 2D绘图(十)图形视图框架(下)

    [Qt教程] 第20篇 2D绘图(十)图形视图框架(下) 楼主  发表于 2013-5-4 15:43:02 | 查看: 861| 回复: 0 图形视图框架(下) 版权声明 该文章原创于Qter开源社 ...

最新文章

  1. go语言使用redis —— redigo
  2. 关于Net开发中一些SQLServer性能优化的建议
  3. 学C++的室友手握这个项目,面试稳了
  4. mysql连接外部数据库名字错误_数据库连接出错! 可能出错原因:数据库位置或名称不对、数据库损坏!...
  5. 请求并操作指定url处的xml文件
  6. HashMap 在 JDK 1.8 中新增的数据结构 – 红黑树
  7. 不同数据库之间的独立性
  8. 开发基于CXF的 RESTful WebService web 项目 webservice发布
  9. 《高质量程序设计指南》读书笔记
  10. jsp post中文乱码
  11. java大小写同时转换(大写的转为小写,小写转为大写)
  12. 中国计算机展望未来,作文:展望未来中国的2025
  13. 状态栏QStatusBar
  14. windows下的谷歌翻译(Google Translate SDK)使用
  15. 《SAP后勤模块实施攻略—SAP在生产、采购、销售、物流中的应用》——2.3 按订单生产(MTO)...
  16. honeywell mahle trw carmate test
  17. jenkins_轮训SCM
  18. 火车头采集案例 - js源码获取真实地址
  19. cms开发(CMS开发)
  20. Netty入门——基于NIO实现机器客服案例

热门文章

  1. Cookies 、 Session 和 token 的区别
  2. 【第九届蓝桥杯大赛决赛真题】JAVA大学C组题解
  3. Android项目实战(二十):浅谈ListView悬浮头部展现效果
  4. Photos_2017 China MVP Community Connection
  5. KVM虚拟机安装使用教程(Ubantu)
  6. npm run dev时报错:Node Sass does not yet support../nodejs与node-sass版本冲突
  7. PowerShell监控——监控电脑屏幕操作记录
  8. [转]Django REST framework 简介与中文教程
  9. 从理论上来说,国足是否还有出线的可能性?分析数据后给你答案
  10. java多线程的基本实现方式与示例