zoukankan      html  css  js  c++  java
  • 我对于 setWindow, setViewPort 与 translate 的理解

    当前在学习 Qt, 到了坐标系统这一块的时候, 有点凌乱, 在看了几个相关的博客后, 果然......更凌乱了, 直到看了 Qt 的帮助手册(不是应该第一个就看这个吗?) 才有了自己的领悟:

    1. translate(), 这个其实挺好理解, 这个函数需要的是一个向量的信息,  承载这个信息的可能是:

        1.1 一个点: const QPoint &offset(浮点? const QPointF &offset) 向量由原点指向它;

        1.2两个实数, 即两个分向量, 合成的向量即为所需信息;

    得到这个信息后, 原点会根据这个向量平移, 这就是 translate().

    2. setWindow(), 建立一个映射,  它需要的是一个长方形的信息, 因为它将以这个长方形来映射当前的窗口, 你可以直接给它一个长方形 const QRect &rectangle, 或者给出它的左上角的点(int x, int y) 以及它的宽和高(int width, int heigh). 如 painter.setWindow(rectangle) 的意思就是用 rectangle 与 painter 当前的窗口进行映射. 当然这层意思仅限于只有这一个函数的情况, 因为如果有多个该函数, 则它的意思就是设置微软的系统(set Windows)......好吧我知道这个笑话很冷.

    3. setViewPort(), 也是建立与当前窗口的一个映射, 需要的一样, 但是与 setWindow 相反, 它是建立一个 当前窗口与所给长方形的映射.

  • 相关阅读:
    IDEA中classpath
    Java之泛型<T> T与T的用法
    反射机制
    vue mitt 解决多次触发问题
    input限制输入
    解决idea启动端口被占用
    前端压缩图片转base64
    对Bootstrap Table 表格进行封装
    vue项目本地运行
    vue项目搭建
  • 原文地址:https://www.cnblogs.com/wuOverflow/p/4194639.html
Copyright © 2011-2022 走看看