Vc - Qt - QPainter translate
QPainter的translate()函数是用来对绘制坐标系统进行平移操作的方法。它可以将绘制的原点(坐标轴的起始点)在水平和垂直方向上进行平移。以下是一个使用QPainter的translate()方法进行坐标平移的示例代码:
QPainter painter(this);// 绘制一个红色矩形
painter.setBrush(Qt::red);
painter.drawRect(0, 0, 100, 100);// 平移坐标系统
painter.translate(50, 50);// 绘制一个蓝色矩形(平移后的位置)
painter.setBrush(Qt::blue);
painter.drawRect(0, 0, 100, 100);
在这个示例中,首先创建一个QPainter对象,并通过this参数指定绘制的目标窗口。然后使用setBrush()方法设置绘制时使用的画刷颜色(这里设置为红色),并调用drawRect()方法绘制一个100x100的矩形。接下来,调用translate()方法将坐标系统在水平和垂直方向上平移了50个像素。最后再次使用setBrush()方法设置画刷颜色(这里设置为蓝色),并调用drawRect()方法绘制一个100x100的矩形。由于之前的平移操作,这个蓝色矩形的左上角坐标会在红色矩形的右下方偏移50个像素。
需要注意的是,translate()方法对之后的所有绘制操作都会生效,所以在调用之后的绘制操作都是相对于平移后的坐标系进行的。如果要恢复到原始的坐标系统,可以使用QPainter的save()和restore()方法进行保存和恢复。
效果展示:
相关文章:
Vc - Qt - QPainter translate
QPainter的translate()函数是用来对绘制坐标系统进行平移操作的方法。它可以将绘制的原点(坐标轴的起始点)在水平和垂直方向上进行平移。以下是一个使用QPainter的translate()方法进行坐标平移的示例代码: QPainter painter(this);// 绘制一个…...
Spark Catalog详解
前言 旁边的实习生说:我想要用spark代码中对hive库中的内部表和外部表进行批量删除(包括数据),咋感觉网上搜了一圈都找不到解决方案啊,spark这么鸡肋吗? 我:你应该静下心来好好把spark基础知识进行全面学习。 实习生:难道spark有这功能,而我没有学习过?咋弄啊? 我:…...
【Spring专题】手写简易Spring容器过程分析
前置知识 《【Spring专题】Spring底层核心原理解析》 思路整理 我们在上一节《【Spring专题】Spring底层核心原理解析》课里面有简单分析过一个Spring容器的一般流程,所以,本节课我们这里尝试写一下简易的Spring容器。 手写源码示例 一、手写前的准…...
fastadmin自定义键值组件Fieldlist
需求场景: 后台设置前端的固定话费充值金额。编辑时要求能够增删改,给到前端的数据,是要根据金额正序排列,用fastadmin的键值组件(Fieldlist),使用Art-Template模板语法自定义模板。 最终效果如下图所示: …...
yolov2检测网数据集标注_labelme使用_json2txt格式转换
yolov2检测网数据集标注_labelme使用_json2txt格式转换 一、安装Anaconda二、创建labelme虚拟环境三、使用labelme标注健康非健康猫狗数据3.1 打开数据集所在文件夹3.2 进行标注数据集3.3 json2txt3.4 按文件目录和训练测试数据集重分配 四、数据喂给服务器网络参考链接 一、安…...
C/C++面试总结
一、关键字static、const、extern、volatile作用 1、const 1.修饰常量 用const修饰的变量是不可变的,修饰后的变量只能使用,不能修改。 2.修饰指针 如果const位于*的左侧,eg:const int* a,则const就是用来修饰指针…...
Python爬虫的Selenium(学习于b站尚硅谷)
目录 一、Selenium 1.为什么要学习Selenium (1)什么是Selenium (2)为什么使用selenium? (3)代码演示 2. selenium的基本使用 (1)如何安装selenium (2…...
springboot 对接 minio 分布式文件系统
1. minio介绍 Minio 是一个基于Go语言的对象存储服务。它实现了大部分亚马逊S3云存储服务接口,可以看做是是S3的开源版本,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象…...
前端小练习:案例4.3D图片旋转展示(旋转木马)
一.效果预览图 二.实现思路 1.实现旋转木马效果的第一步是先准备好自己需要的图片,创建html文件 2.旋转木马的实现,关键点在3D形变和关键帧动画。 3.步骤,定义一个div使其居中,,把图片放进div盒子里,因为图…...
Linux这17个操作技巧是每个运维工程师应知必会的吧?
今天跟大家分享17个linux运维中常用的操作技巧!掌握好这些技巧,或许某一天能够让老板给你涨工资! 1、查找当前目录下所有以.tar结尾的文件然后移动到指定目录: find . -name “*.tar” -exec mv {}./backup/ ; ❝ 注解࿱…...
音视频基础:分辨率、码率、帧率之间关系
基础 人类视觉系统 分辨率 像素: 是指由图像的小方格组成的,这些小方块都有一个明确的位置和被分配的色彩数值,小方格颜色和位置就决定该图像所呈现出来的样子;可以将像素视为整个图像中不可分割的单位或者是元素;像素…...
Java基础八 - HTTP相关/Cookie/Session/网络攻击
一、 反射/序列化/拷贝 1. 反射 //反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力 //在Yaml数据驱动自动化框架比较适用,能获取到当前的类名及方法名 import java.lang.reflect.*;public class ReflectionExample {public static void main(Str…...
【车道线】TwinLiteNet 复现过程全纪录
码字不易,喜欢的请点赞收藏!!!!! 论文全文翻译:【freespace】TwinLiteNet: An Efficient and Lightweight Model for Driveable Area and Lane Segmentation_莫克_Cheney的博客-CSDN博客 目录…...
七牛云获取qn(url、bucket、access-key、secret-key)
1.注册账号 2.access-key和secret-key: 点击“密钥管理” 复制AK和SK即可 域名: bucket: 这个就是对象存储空间名字 先新建一个空间(没买需要先购买),步骤如下: 填写存储空间名字࿰…...
定时任务实现 - Cron表达式知识
Cron表达式 cron表达式是一个字符串,由6到7个字段组成,用空格分隔。其中前6个字段是必须的,最后一个是可选的。每个字段的含义为:秒 分 时 日 月 周 年 字符解释: 枚举:, (cron“7,9,23****?”):任意时刻…...
【java】抽象
java抽象 抽象类抽象方法抽象类和抽象方法 抽象类 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就…...
Qt应用开发(基础篇)——时间微调输入框 QDateTimeEdit、QDateEdit、QTimeEdit
一、前言 QAbstractSpinBox是全部微调输入框的父类,这是一种允许用户通过点击上下箭头按钮或输入数字来调整数值的图形用户界面控件,父类提供了当前值text、对齐方式align、只读readOnly等通用属性和方法。在上一篇数值微调输入框中有详细介绍。 QDateTi…...
日撸代码300行:第63天(集成学习之 AdaBoosting-1)
代码来自闵老师”日撸 Java 三百行(61-70天) 日撸 Java 三百行(61-70天,决策树与集成学习)_闵帆的博客-CSDN博客 学习过程中理解算法参考了:(十三)通俗易懂理解——Adaboost算法原…...
抽象父类获取子类的泛型 或接口泛型
jie通过getClass().getGenericSuperclass()或者子类的泛型 getClass().getGenericInterfaces();获取多个接口的泛型 GenericTypeResolver.resolveTypeArgument(GenericityService.class, GenericitySuper.class) 抽象父类 public abstract class GenericitySuper<T> …...
题目:2341.数组能形成多少数对
题目来源: leetcode题目,网址:2341. 数组能形成多少数对 - 力扣(LeetCode) 解题思路: 使用哈希表对数组中元素及其出现次数计数后对其进行统计即可。 解题代码: class Solution {public …...
RTX 40系列显卡需求强劲的背后:技术迭代、AI驱动与市场理性回归
1. 项目概述:从“矿难”到“复苏”,显卡市场的十字路口“显卡最坏的日子过去了?”——这大概是过去两年里,每一个关注PC硬件、游戏或者内容创作的玩家和从业者,心里反复掂量过无数次的问题。从2020年底开始,…...
Sourcetree新手指南:从零配置到高效版本控制
1. Sourcetree入门:为什么选择图形化Git工具 第一次接触版本控制时,我对着黑漆漆的命令行窗口敲git命令的手都在发抖。直到发现了Sourcetree这个神器,才真正体会到什么叫"可视化操作"。作为Atlassian公司出品的免费工具࿰…...
PolyHook 2.0导入导出表钩子:IatHook和EatHook的10个核心技巧
PolyHook 2.0导入导出表钩子:IatHook和EatHook的10个核心技巧 【免费下载链接】PolyHook_2_0 C20, x86/x64 Hooking Libary v2.0 项目地址: https://gitcode.com/gh_mirrors/po/PolyHook_2_0 PolyHook 2.0是一个功能强大的C20 x86/x64钩子库,提供…...
别再手动填Excel了!用EasyExcel 3.3.2 + SpringBoot实现模板化导出(附金额大写工具类)
告别手工填表:SpringBootEasyExcel智能报表生成实战 财务小张每周五下午都要面对同样的噩梦:从ERP系统导出销售数据,然后对照模板手动填写上百行Excel报表。金额大写转换要逐个核对,格式错位要反复调整,加班到深夜已成…...
远洋边缘计算实战:基于 Linux 的客滚船高并发网络 QoS 调度与隔离策略
摘要:客滚船直连卫星网络面对几百名旅客并发时存在瘫痪与越权风险。本文记录了基于 Linux 构建标准工业级边缘网关多链路 QoS 调度与隔离的实操复盘。导语:在主导一艘国际客滚船的网络重构项目时,我们面临一个典型的高并发调度与合规挑战&…...
第4篇:角色设定与上下文管理——让AI扮演专家
第4篇:角色设定与上下文管理——让AI扮演专家适用人群:进阶 | 字数:约25,000字 | 预计阅读时间:60分钟前言 在前面三篇中,我们完成了"入门三部曲":知道了提示词的本质,学会了黄金四步…...
你的电机为什么抖?排查STM32F4 PWM驱动TB6612的5个常见硬件坑(附示波器实测)
你的电机为什么抖?排查STM32F4 PWM驱动TB6612的5个常见硬件坑(附示波器实测) 电机控制系统中,PWM信号的质量直接影响着驱动芯片和电机的性能表现。许多工程师在使用STM32F4系列MCU配合TB6612驱动模块时,常常遇到电机抖…...
②Allegro PCB转Altium Designer PCB转Pads Layout PCB
在工作中,难免会遇到主流画板EDA软件(Pads、Altium Designer、Cadence allegeo、嘉立创EDA等)文件格式相互间转换的问题。下面来介绍一下Allegro PCB转Pads Layout PCB的详细操作步骤,前面已经介绍过allegro不用经过Altium Designer软件直接转PADS格式pc…...
Qt新手也能搞定的GPU加速图片渲染:用QOpenGLWidget和QImage实现高性能显示
Qt新手也能搞定的GPU加速图片渲染:用QOpenGLWidget和QImage实现高性能显示 在Qt应用开发中,处理高分辨率图片或序列帧(如医学影像、地图切片)时,传统的QLabel显示方式常会遇到性能瓶颈。当图片尺寸超过1080P或需要快速…...
告别JNI内存泄漏:实战中那些容易踩坑的字符串与数组操作(附完整代码示例)
告别JNI内存泄漏:实战中那些容易踩坑的字符串与数组操作(附完整代码示例) 在Android NDK开发和高性能Java服务中,JNI(Java Native Interface)作为连接Java与C的桥梁,其重要性不言而喻。然而&…...
