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

软件技术专业就业方向合肥全网优化

软件技术专业就业方向,合肥全网优化,网站建设模板代码,传销教你做网站在Qt中,setViewport和setWindow是用于控制坐标系映射的核心方法,二者共同决定了绘图逻辑与物理设备之间的转换关系。以下是关键点总结: ‌1. 视口(Viewport)与窗口(Window)的核心区别‌ ‌视口…

在Qt中,setViewportsetWindow是用于控制坐标系映射的核心方法,二者共同决定了绘图逻辑与物理设备之间的转换关系。以下是关键点总结:

1. 视口(Viewport)与窗口(Window)的核心区别

  • ‌视口(Viewport)‌

    • 对应‌物理坐标系‌,定义绘图在设备(如QWidget)上的‌实际显示区域‌‌。可理解为目标设备的显示矩形区域,当画的内容超过窗口本身大小时,拉大窗口,会显示超过部分。

    • 默认视口为整个绘图设备的矩形区域‌。

    • 通过setViewport(x, y, width, height)设置,参数为设备坐标系下的值‌。

  • ‌窗口(Window)‌

    • 对应‌逻辑坐标系‌,定义绘图的‌内容范围‌‌。可理解为截取窗口矩形区域显示到设备上,当画的内容超过窗口本身大小时,拉大窗口,不会显示超过部分。

    • 通过setWindow(x, y, width, height)设置,参数为逻辑坐标系下的值‌。

    • 窗口的坐标原点默认在视口的左上角‌。

2. 坐标系映射关系

  • ‌窗口到视口的线性变换‌
    窗口的逻辑坐标系会通过‌比例缩放‌和‌平移‌映射到视口的物理坐标系‌。
    例如:

    • 若窗口大小为(0, 0, 100, 100),视口大小为(0, 0, 200, 200),则所有图形放大2倍显示‌。

  • ‌关键公式‌
    逻辑坐标到物理坐标的转换公式为:

    x_物理 = (x_逻辑 - window.x()) * (viewport.width() / window.width()) + viewport.x()
    y_物理 = (y_逻辑 - window.y()) * (viewport.height() / window.height()) + viewport.y()

‌3. 示例代码

3.1)代码1

#include <QPainter>
#include "PaintDemo.h"PaintDemo::PaintDemo()
{resize(800, 600);setWindowTitle(tr("Paint Demo"));
}void PaintDemo::paintEvent(QPaintEvent *)
{QPainter painter(this);painter.setPen(QPen(Qt::black, 2));painter.drawLine(0,0,800,600);
}

   拉动改变窗口的大小,窗口右下角的坐标大于(800,600),这时我们的线只画到(800,600),所以剩下的一段是空白。
3.2)代码2

#include <QPainter>
#include "PaintDemo.h"PaintedDemo::PaintedDemo()
{resize(800, 600);setWindowTitle(tr("Paint Demo"));
}void PaintDemo::paintEvent(QPaintEvent *)
{QPainter painter(this);painter.setWindow(0,0,800,600);painter.setPen(QPen(Qt::black, 2));painter.drawLine(0,0,800,600);
}

拉动改变窗口的大小,我们的画的线始终贯穿整个窗口。
3.3)代码3

#include <QPainter>
#include "PaintDemo.h"PaintDemo::PaintDemo()
{resize(800, 600);setWindowTitle(tr("Paint Demo"));
}void PaintDemo::paintEvent(QPaintEvent *)
{QPainter painter(this);painter.setViewport(0,0,800,600);painter.setWindow(0,0,800,600);painter.setPen(QPen(Qt::black, 2));painter.drawLine(0,0,800,600);
}

拉动改变窗口的大小,画的线又不能贯穿整个窗口了。

http://www.dtcms.com/wzjs/411675.html

相关文章:

  • 南昌网站建设公务朋友圈营销广告
  • 周口网站制作公司哪家好网络营销图片素材
  • 网站备案的坏处柳州今日头条新闻
  • 网站空间如何选择自动搜索关键词软件
  • 手机app ui设计在线网站抖音seo排名软件
  • 网站群建设论文企业网络营销方法
  • django做的网站模板想要网站导航正式推广
  • 惠州市中国建设银行网站网站策划书怎么写
  • php 网站301厦门搜索引擎优化
  • 成都网站外包优化公司狼雨的seo教程
  • 免费网站建设资讯短视频精准获客系统
  • 焦作高端网站建设使用 ahrefs 进行 seo 分析
  • 网站推广宣传方案怎样创建网站平台
  • 大牌印花图案设计网站杭州seo网站排名优化
  • 关于企业网站开发与设计论文青岛seo百科
  • 总工会网站建设方案免费信息发布平台网站
  • 制作网站需要多少钱平台怎样推广
  • 广州企业网站建设公司手机网页设计制作网站
  • 受欢迎的合肥网站建设seo推广优化方案
  • 做面食专业网站四川百度推广和seo优化
  • 滨州建设工程备案网站南昌网站seo
  • 进入淘宝官网网站免费制作小程序平台
  • wordpress 小兽西安网络推广seo0515
  • 陕西省人民政府热线电话系统优化大师官方下载
  • 填表网站怎么做电商培训
  • 门户网站建设模板竞价托管信息
  • 上饶市网站建设深圳网站关键词优化公司
  • 申请网页的注意事项网站优化课程培训
  • 怎么做刷钻网站seo优化技术培训
  • 网站设计目标快速seo整站优化排行