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

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()方法进行保存和恢复。

效果展示:
在这里插入图片描述

http://www.lryc.cn/news/116285.html

相关文章:

  • Spark Catalog详解
  • 【Spring专题】手写简易Spring容器过程分析
  • fastadmin自定义键值组件Fieldlist
  • yolov2检测网数据集标注_labelme使用_json2txt格式转换
  • C/C++面试总结
  • Python爬虫的Selenium(学习于b站尚硅谷)
  • springboot 对接 minio 分布式文件系统
  • 前端小练习:案例4.3D图片旋转展示(旋转木马)
  • Linux这17个操作技巧是每个运维工程师应知必会的吧?
  • 音视频基础:分辨率、码率、帧率之间关系
  • Java基础八 - HTTP相关/Cookie/Session/网络攻击
  • 【车道线】TwinLiteNet 复现过程全纪录
  • 七牛云获取qn(url、bucket、access-key、secret-key)
  • 定时任务实现 - Cron表达式知识
  • 【java】抽象
  • Qt应用开发(基础篇)——时间微调输入框 QDateTimeEdit、QDateEdit、QTimeEdit
  • 日撸代码300行:第63天(集成学习之 AdaBoosting-1)
  • 抽象父类获取子类的泛型 或接口泛型
  • 题目:2341.数组能形成多少数对
  • NB-IOT 和蜂窝通信(2/3/4/5G)的区别和特点是什么?
  • vue3 动态导入src/page目录下的所有子文件,并自动注册所有页面组件
  • python优雅地爬虫
  • mysql8查看执行sql历史日志、慢sql历史日志,配置开启sql历史日志general_log、慢sql历史日志slow_query_log
  • vscode关闭绑定元素“xxx”隐式具有“any”类型这类错误
  • View绘制流程-Window创建
  • Jenkins build包时虽然单元测试失败了,但是仍然可以成功build包(最终结束时build success)
  • 【vue3】基础知识点-setup语法糖
  • idol!! 2023牛客暑期多校训练营6 C
  • 深入理解Jdk5引入的Java泛型:类型安全与灵活性并存
  • idea在控制台中输出文字显示乱码