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 相反, 它是建立一个 当前窗口与所给长方形的映射.

  • 相关阅读:
    11.6八校联考T1,T2题解
    NOIP2014解方程
    luogu P2107 小Z的AK计划
    差分及树上差分学习笔记
    Noip2015提高组解题报告
    日常个人训练计划
    dij 费用流
    哈尔滨站总结
    SOSdp
    2018-2019 ACM-ICPC Southeastern European Regional Programming Contest (SEERC 2018)
  • 原文地址:https://www.cnblogs.com/wuOverflow/p/4194639.html
Copyright © 2011-2022 走看看