第十四章 Qt绘图

news2024/10/7 14:25:19

目录

一、Qt绘图基础

1、主要的类

2、paintEvent 事件

二、坐标体系

三、画笔

1、画笔的常用接口

2、画笔样式

3、画笔画线时的端点样式

4、画笔画线时,连接点的样式

5、实例

四、画刷

1、画刷的填充样式

2、实例

五、基本图形的绘制

1、画矩形 drawRect

2、画圆角矩形 drawRounderRect

3、画椭圆 drawEllipse

4、画圆弧 drawArc

5、画弦 drawChord

6、画凸多边形 drawConvexPolygon

7、绘制多边形 drawPolygon

8、绘制图片 drawImage

9、画 Pixmap 图片 drawPixmap

10、划直线 drawLine

11、画多条直线 drawLines

12、画多点连接的线 drawPolyline

13、画路径 drawPath

14、画扇形

15、画点 drawPoint / drawPoints

12、绘制文本 drawText

13、擦除 eraseRect

14、填充矩形 fillRect

15、填充路径 fillPath

六、坐标变换

1、常用接口

1.1、坐标平移

1.2、坐标旋转

1.3、坐标旋转

1.4、坐标缩放

1.5、保存坐标状态

1.6、坐标恢复

1.7、复位所有的坐标交换

2、坐标变换——项目实战

七、视口和窗口

1、视口

2、窗口

3、项目练习


一、Qt绘图基础

1、主要的类

QPainter “画家”,“绘图者”, 执行各种绘图操作

QPainterDevice 绘图设备,被绘制的对象,也就是一个二维界面,比如:QWidget, QPixmap, QImage  绘图设备,给 QPainter 提供一个“画布”

QPainterEngine 程序员不需要直接处理,底层绘图的接口。

2、paintEvent 事件

在 QWidget 及其子类对象中绘制时,只需要实现从 QWidget 继承的虚函数 paintEvent 即可。 QWidget 窗口的内部区域,就是“绘图区域”

二、坐标体系

viewport 坐标系(视口坐标系

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1889461.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

miniconda3 安装jupyter notebook并配置网络访问

由于服务器安装的miniconda3,无jupyter notebook,所以手工安装jupyter notebook 1 先conda 安装相关包 在base 环境下 conda install ipython conda install jupyter notebook 2 生成配置文件 jupyter notebook --generate-config Writing defaul…

Coze终于顶不住了?开始收费了

🤔各位老铁都知道,之前Coze以免费出圈,香碰碰,字节一个月几个亿补贴用户。现在终于顶不住了,开始收费了! 我们来看看具体情况吧! 💸收费情况一览 目前国内版本还没有开始收费&#x…

CesiumJS【Basic】- #054 绘制渐变填充多边形(Entity方式)-使用shader

文章目录 绘制渐变填充多边形(Entity方式)-使用shader1 目标2 代码2.1 main.ts绘制渐变填充多边形(Entity方式)-使用shader 1 目标 使用Entity方式绘制绘制渐变填充多边形 - 使用shader 2 代码 2.1 main.ts import * as Cesium from cesium;const viewer = new Cesium…

迅睿CMS 后端配置项没有正常加载,上传插件不能正常使用

首先,尝试迅睿CMS官方提供的【百度编辑器问题汇总】解决方案来解决你的问题。你可以访问这个链接:官方解决方案。 如果按照【百度编辑器问题汇总】解决方案操作后,依然遇到“后端配置项没有正常加载,上传插件不能正常使用”的问题…

windows重装系统

一、下载Ventoy工具,制作启动盘 官网地址:https://www.ventoy.net/cn/download.html 电脑插入用来制作系统盘的U盘,建议大小在8G以上。 双击打开刚解压出来的Ventoy2Disk.exe文件。打开界面如图: 确认U盘,如图&am…

Linux_管道通信

目录 一、匿名管道 1、介绍进程间通信 2、理解管道 3、管道通信 4、用户角度看匿名管道 5、内核角度看匿名管道 6、代码实现匿名管道 6.1 创建子进程 6.2 实现通信 7、匿名管道阻塞情况 8、匿名管道的读写原子性 二、命名管道 1、命名管道 1.1 命名管道通信 …

VoiceCraft—— 业界最高水平的自然语音合成语言模型

VoiceCraft: 实现语音编辑和合成的 SOTA 论文地址:https://arxiv.org/html/2403.16973v1 源码地址:https://github.com/jasonppy/voicecraft 本文介绍VoiceCraft 的开发情况,它在语音编辑和零点语音合成 (TTS) 方面都实现了 SOTA。在本文中…

如何压缩jpg图片的大小?关于缩小jpg图片的四种方法

如何压缩jpg图片的大小?压缩JPG图片大小是一项常见的技术,用来优化图片以适应不同的应用需求。无论是为了在网页上提高加载速度、减少存储空间占用,还是为了便于通过电子邮件或社交媒体分享,压缩jpg图片都是必不可少的步骤。这种技…

AIoTedge:智能边缘计算平台

随着物联网(IoT)和人工智能(AI)技术的飞速发展,AIoT(人工智能物联网)已成为推动智能化转型的关键力量。AIoT Edge作为这一领域的创新平台,通过边缘计算技术,为企业提供了一个高效、灵活且安全的解决方案。 边云协同架构…

Java 7新特性深度解析:提升效率与功能

文章目录 Java 7新特性深度解析:提升效率与功能一、Switch中添加对String类型的支持二、数字字面量的改进三、异常处理(捕获多个异常)四、增强泛型推断五、NIO2.0(AIO)新IO的支持六、SR292与InvokeDynamic七、Path接口…

Xilinx FPGA:vivado实现乒乓缓存

一、项目要求 1、用两个伪双端口的RAM实现缓存 2、先写buffer1,再写buffer2 ,在读buffer1的同时写buffer2,在读buffer2的同时写buffer1。 3、写端口50M时钟,写入16个8bit 的数据,读出时钟25M,读出8个16…

前端进阶全栈计划:Spring扫盲

Spring扫盲 spring 和 springboot的关系? 类比前端:vue.js和nuxt.js的关系 Spring Boot 是基于 Spring 框架的快速开发工具,简化了 Spring 应用的配置和部署。 spring核心特性 1. 依赖注入 依赖注入是Spring框架的核心功能之一。它允许你通过配置将对…

Golang | Leetcode Golang题解之第206题反转链表

题目: 题解: func reverseList(head *ListNode) *ListNode {if head nil || head.Next nil {return head}newHead : reverseList(head.Next)head.Next.Next headhead.Next nilreturn newHead }

什么是Web3D交互展示?有什么优势?

在智能互联网蓬勃发展的时代,传统的图片、文字及视频等展示手段因缺乏互动性,正逐渐在吸引用户注意力和提升宣传效果上显得力不从心。而Web3D交互展示技术的横空出世,则为众多品牌与企业开启了一扇全新的展示之门,让线上产品体验从…

学校卫星电子怎么自动校准时间呢

在学校的教室里,卫星电子钟精准地为师生们提供着时间服务,而其自动校准时间的功能令人称奇。那么,学校卫星电子钟是如何实现自动校准时间的呢? 学校卫星电子钟自动校准时间的原理基于卫星导航系统。常见的如北斗卫星导航系统或 GP…

小程序-<web-view>嵌套H5页面支付功能

背景:小程序未发布前,公司使用vue框架搭建了管理系统,为了减少开发成本,微信提供了web-view来帮助已有系统能在小程序上发布,详见web-view | 微信开放文档。因公司一直未打通嵌套H5小程序的支付功能,导致用…

湖北建筑安全员A证跨省调出审核不通过?可能是这些原因

湖北建筑安全员A证跨省调出审核不通过?可能是这些原因 湖北建筑安全员A证跨省调出审核不通过怎么办? 湖北建筑安全员ABC正常情况下都是可以跨省调出的,现在建筑三类人员安全员ABC在全国工程质量安全监管信息平台都是可以查询的,在…

offer150-16:数值的整数次方

题目描述:实现函数double Power(double base,int exponent),求base 的exponent次方。不得使用库函数,同时不需要考虑大数问题。 分析,题目要求实现库函数pow(),由于不需要考虑大数问题,不必担心溢出,那么就需要对输入的各种情况进…

LeetCode热题100刷题3:3. 无重复字符的最长子串、438. 找到字符串中所有字母异位词、560. 和为 K 的子数组

3. 无重复字符的最长子串 滑动窗口、双指针 class Solution { public:int lengthOfLongestSubstring(string s) {//滑动窗口试一下//英文字母、数字、符号、空格,ascii 一共包含128个字符vector<int> pos(128,-1);int ans 0;for(int i0,j0 ; i<s.size();i) {//s[i]…

【Python网络通信】基于Bypy调用百度网盘api实现自动上传和下载网盘文件

网盘对于大家的生活工作可以说是息息相关&#xff0c;但是如果每天都重复去上传下载文件就会很浪费时间&#xff0c;所以有没有什么办法可以解放双手&#xff1f;那就是网盘接口&#xff0c;本文通过Bypy库实现百度网盘的自动上传和下载文件。 原创作者&#xff1a;RS迷途小书童…