当前位置: 首页 > news >正文

Qt-QPainter的使用总结

一、QPainter介绍

QPainter是Qt框架中的一个类,主要用于在各种设备上进行2D图形绘制,如窗口、位图、打印设备等。它提供了一系列绘图函数,可以实现绘制点、线、曲线、形状、文本、图像以及复杂的绘画操作。

QPainter 与 QPaintDevice 和 QPaintEngine 类一起构成了Qt绘制系统的基础:

  • QPainter 是用于执行绘图操作的类。
  • QPaintDevice 表示可以使用 QPainter 在其上绘制的设备。
  • QPaintEngine 提供了一个接口,QPainter 可以使用这个接口来绘制不同类型的设备

使用QPainter进行绘图的基本步骤如下

  • 创建一个QPainter对象。
  • 将QPainter与要绘图的设备(如QPixmap、QImage或QWidget)关联起来,通过调用begin()函数。
  • 使用QPainter提供的绘图函数进行绘图,如drawLine()、drawRect()、drawText()等。
  • 绘制完毕后,调用end()函数结束绘图并释放相关资源。

当你需要在自己定义的界面上面执行各种绘画操作时,使用这个类就行绘制,毕竟QT直接提供的Ui控件里面还是比较少的,如果你想实现自己的控件,可是重写里面的虚函数,进行绘制自己的控件。

QPainter 一般在部件的绘图事件 paintEvent() 中进行绘制,首先创建 QPainter 对象,然后进行图形的绘制,最后记得销毁 QPainter 对象。

QPainter使用举例如下:

QPainter painter(this); // 如果是在QWidget上绘图
painter.begin(myPixmap); // 如果是在QPixmap上绘图
painter.setPen(Qt::red); // 设置画笔颜色为红色
painter.drawRect

相关文章:

Qt-QPainter的使用总结

一、QPainter介绍 QPainter是Qt框架中的一个类,主要用于在各种设备上进行2D图形绘制,如窗口、位图、打印设备等。它提供了一系列绘图函数,可以实现绘制点、线、曲线、形状、文本、图像以及复杂的绘画操作。 QPainter 与 QPaintDevice 和 QPaintEngine 类一起构成了Qt绘制系…...

轻松搞定GIS场景编辑,这款免费工具你一定要试试

如果你正苦恼于如何搞定GIS场景编辑,不妨来试试这款免费可视化工具——山海鲸可视化。经过本人测试,这款软件在GIS场景编辑上完全可以做到“零代码”操作,即使没有任何编程技能也可以在三维GIS世界中如鱼得水。现在,让我们一起来看…...

【笔记】一起齿轮箱的故障和相应的数学模拟实验

1.齿轮箱故障一例 出处:设备的故障识别 GearBox的频谱图,原作者不知道是从哪里拷贝来的,待会儿确认一下。 齿轮啮合频率GMF等于齿数乘以齿轮转速频率: ★齿轮啮合频率两边有边频,间距为1X(这是由冲击响应…...

官宣:百数低代码平台已顺利通过国家信息安全等级保护三级认证

在数字化转型浪潮中,企业对于数据安全与隐私保护的需求日益增强,尤其是在选择低代码开发平台时,信息安全等级保护(简称“等保”)成为众多客户关注的焦点。 近日,我们非常荣幸地向社会各界及广大用户宣布&a…...

Spring源码注解篇二:手写@Component注解

Component注解的功能 在Spring框架中,Component 注解是一个核心特性,用于自动检测类并将其注册为Spring应用上下文中的Bean。这大大简化了Bean的配置过程,使得开发者能够通过注解的方式快速地将类标记为组件,并由Spring容器进行管…...

云备份服务端

文件使用工具和json序列化反序列化工具 //文件和json工具类的设计实现 #ifndef __UTIL__ #define __UTIL__ #include<iostream> #include<fstream> #include<string> #include <vector> #include<sys/stat.h> #include"bundle.h" #inc…...

Jupyter Notebook 使用教程

Jupyter Notebook 使用教程 目录 概述启动Jupyter Notebook创建新的NotebookNotebook界面介绍使用代码单元格使用Markdown单元格Notebook的基本操作保存和导出Notebook扩展功能和技巧 1. 概述 Jupyter Notebook是一个开源的Web应用程序&#xff0c;允许您创建和共享包含代码…...

Leetcode 100361100367.切割蛋糕的最小总开销

Medium&#xff1a;动态规划搜索&#xff08;实际就是优化后的dfs&#xff09; class Solution { public: int f[25][25][25][25] {0};int dp(int row1, int col1, int row2, int col2, vector<int>& horizontalCut, vector<int>& verticalCut){if(row1 …...

单网口设备的IP地址识别-还原-自组网

1.如果知道该设备所在网段&#xff1a; 此时可以使用nmap工具&#xff0c;进行网段扫描&#xff1a; nmap -sn 192.168.0.0/24 256个地址的子网10秒就能扫描一轮。关掉设备&#xff0c;打开设备&#xff0c;diff&#xff0c;基本就可以定位所要找到目标设备的IP 2.如果不知道…...

太速科技-FMC207-基于FMC 两路QSFP+光纤收发子卡

FMC207-基于FMC 两路QSFP光纤收发子卡 一、板卡概述 本卡是一个FPGA夹层卡&#xff08;FMC&#xff09;模块&#xff0c;可提供高达2个QSFP / QSFP 模块接口&#xff0c;直接插入千兆位级收发器&#xff08;MGT&#xff09;的赛灵思FPGA。支持利用Spartan-6、Virtex-6、Kin…...

昇思25天学习打卡营第13天|munger85

文本解码原理–以MindNLP为例 重要的就是怎么样把数字最后转化成真正的文字。而且自回归模型它会一个字给一个字的预测&#xff0c;下一个字应该是什么&#xff1f; 如果这个模型下载很慢&#xff0c;你就可以通过这种方式从摩大社区进行下载。 这种方式&#xff0c; 每一次候…...

Python - Word转TXT文本,或TXT文本转Word

Word文档&#xff08;.doc或.docx&#xff09;和纯文本文件&#xff08;.txt&#xff09;是两种常用的文件格式。Word文档通常用于复杂的文档处理和排版&#xff0c;而纯文本文件则用于存储和传输纯文本信息。了解如何在这两种格式之间进行转换能提高工作效率&#xff0c;并便于…...

链接追踪系列-00.es设置日志保存7天-番外篇

索引生命周期策略 ELK日志我们一般都是按天存储&#xff0c;例如索引名为"zipkin-span-2023-03-24"&#xff0c;因为日志量所占的存储是非常大的&#xff0c;我们不能一直保存&#xff0c;而是要定期清理旧的&#xff0c;这里就以保留7天日志为例。 自动清理7天以前…...

Vant Ui 最新访问地址

Vant 4 - A lightweight, customizable Vue UI library for mobile web apps. 顺带一个顶部导航栏正常写法 先使用吸顶为0&#xff0c;然后再写nav-bar <van-sticky :offset-top"0"> <van-nav-bar class"top-title" title"村集体土地公示&q…...

【学习笔记】无人机(UAV)在3GPP系统中的增强支持(八)-通过无人机进行无线接入

引言 本文是3GPP TR 22.829 V17.1.0技术报告&#xff0c;专注于无人机&#xff08;UAV&#xff09;在3GPP系统中的增强支持。文章提出了多个无人机应用场景&#xff0c;分析了相应的能力要求&#xff0c;并建议了新的服务级别要求和关键性能指标&#xff08;KPIs&#xff09;。…...

PTrade量化交易终端常见问题11

盈亏分析为空。 回测详情内&#xff0c;盈亏分析内为空。 1、回测正常结束&#xff0c;并且产生多笔交易&#xff1b; 2、盈亏分析热力图无任何内容&#xff0c;检查支持版本&#xff0c;盈亏分析是在需求单号&#xff1a;202211114089&#xff0c;于PTrade1.0-QTV202301.01.…...

被动的机器人非线性MPC控制

MPC是一种基于数学模型的控制策略&#xff0c;它通过预测系统在未来一段时间内的行为&#xff0c;并求解优化问题来确定当前的控制输入&#xff0c;以实现期望的控制目标。对于非线性系统&#xff0c;MPC可以采用非线性模型进行预测和优化&#xff0c;这种方法被称为非线性模型…...

什么样的服务器是合乎直销网站标准

现在社会的发展,有着越来越多的人想要利用互联网来做直销。做好直销行业系统解决方案离不开好的服务器支持,服务器的的稳定性和速度是直接影响网站后期运作,可以看做是网站的根基。 做网站直销选择租用服务器需要注意的几点要素 一些大的直销互联网公司如安利、雅芳、康宝莱、玫…...

python 语法学习 day13

一.判断题错题反思 1.创建对象是通过调用构造方法完成的 3.python方法定义的第一个参数是self 4.一个对象只能有一个实例变量&#xff08;错&#xff09; 5.在python类中,构造方法的名称为__init__ 6.从类定义之外直接访问实例变量是不好的程序设计风格 7.在python中定义类是时…...

Spring MVC中Restful风格引入

一&#xff0c;RESTful概述 在现代Web应用开发中&#xff0c;RESTful架构风格已成为一种标准实践&#xff0c;特别是在构建可扩展的Web服务时。Spring MVC提供了全面的支持来构建遵循REST原则的Web服务。我在此介绍如何在Spring MVC中实现RESTful风格的Web服务&#xff0c;并通…...

DataRoom:企业级数据可视化大屏设计器的架构创新与实践价值

DataRoom&#xff1a;企业级数据可视化大屏设计器的架构创新与实践价值 【免费下载链接】DataRoom &#x1f525;基于SpringBoot、MyBatisPlus、ElementUI、G2Plot、Echarts等技术栈的大屏设计器&#xff0c;具备目录管理、DashBoard设计、预览能力&#xff0c;支持MySQL、Orac…...

formality

get_app_var verification_set_undriven_signalsset_app_var verification_set_undriven_signals binary 0ref的port是undriven&#xff0c;会说original undriven&#xff0c;并且给出0的cut_net激励&#xff0c;得到的值为0。这里的值给的是0而不是x&#xff0c;所以会特意说…...

NoFences:免费开源桌面整理神器,让Windows桌面焕然一新

NoFences&#xff1a;免费开源桌面整理神器&#xff0c;让Windows桌面焕然一新 【免费下载链接】NoFences &#x1f6a7; Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences 还在为Windows桌面上杂乱无章的图标而烦恼吗&a…...

CANN-opbase-昇腾NPU算子开发的基础设施为什么这么重要

CANN-opbase-昇腾NPU算子开发的基础设施为什么这么重要 所有 CANN AOL 算子仓库的底层都依赖 opbase。它不提供任何算子实现&#xff0c;提供的是算子注册、编译、调度的基础设施。如果你要写自定义 Ascend C 算子&#xff0c;opbase 是绕不过去的第一步。 opbase 提供了什么组…...

Unity PC端微信扫码登录:不拉起浏览器的原生UI集成方案

1. 这不是“微信扫码登录”的常规玩法&#xff0c;而是PC端Unity游戏的UI原生集成方案你有没有遇到过这样的场景&#xff1a;在Unity开发的PC单机游戏或局域网对战工具里&#xff0c;想让用户用微信账号快速登录&#xff0c;但一接入微信开放平台的标准OAuth2流程&#xff0c;点…...

Gitea库完整从Ubuntu迁移到CentOS中

文章目录 一、概述 二、数据迁移 2.1 获取数据存储路径 2.2 搞事之前先备份(目标服务器CentOS) 2.2.1 停止gitea服务 2.2.2 备份gitea文件夹 2.3 从Ubuntu的数据目录中将数据拷贝到CentOS中 2.4 备份mysql数据库并拷贝到目标服务器(CentOS) 2.4.1 通过mysqldump备份数据库 …...

CANN-ATB多卡推理-昇腾NPU上Llama70B怎么切到8张卡

CANN-ATB多卡推理-昇腾NPU上Llama70B怎么切到8张卡 Llama2-70B 的权重 140GB&#xff0c;单张 Atlas 800I A2 的 64GB 显存放不下。ATB 的多卡推理用 Tensor Parallel 把模型切到多张 NPU 上&#xff0c;每张卡只存 1/N 的权重和 KV Cache。 Tensor Parallel 的切法 Llama2-70B…...

警惕AI领域虚构技术名词:Mythos等未证实概念辨析

我不能按照您的要求生成关于“TAI #200: Anthropic’s Mythos Capability Step Change and Gated Release”的博文内容。原因如下&#xff1a;该标题涉及未经公开验证的虚构/推测性信息&#xff1a;截至目前&#xff08;2024年中&#xff09;&#xff0c;Anthropic 官方未发布任…...

保姆级教程:用UltraISO给U盘刻录Ubuntu 22.04启动盘,一次成功不踩坑

零基础实战&#xff1a;用UltraISO打造Ubuntu 22.04启动盘的终极指南 第一次接触Linux系统安装的新手&#xff0c;往往会在制作启动盘这一步遇到各种意想不到的问题。U盘明明已经刻录完成&#xff0c;却在启动时出现黑屏、报错甚至根本无法识别——这些困扰过无数初学者的坑&am…...

硬件工程师,每天5分钟(5)——为什么 DDR5 最怕地不好?回流路径,才是高速设计真正的灵魂

讲透&#xff1a; 回流路径 为什么 Split Plane 最危险 为什么加地孔有时候能救命 为什么 GPS 会被 DDR 干扰 为什么 EMC 挂的根因常是地 &#x1f697;《硬件工程师&#xff0c;每天5分钟》第5篇 &#x1f525;《为什么 DDR5 最怕地不好&#xff1f;回流路径&#xff0c;才是高…...