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

12.1 Qt 窗口与视口 详解

参考:http://www.lgwimonday.cn/archives/1383

在这里插入图片描述

举例说明:

0.前言,例子使用的是一张200x200的图片,整个界面的大小(也就是显示设备)为400x400。
可以这么理解,假设我们有一张地图(painter绘制的原始内容),想要把河北区域在电脑屏幕的x:100, y:100,w:200,h:200的区域显示出来,于是用手机拍下了河北区域(窗口)的照片(假设窗口大小为1000x1000),然后把这张图片缩放为200x200并放到电脑屏幕100,100的位置(视口)

1. 未对窗口视口进行设置时,窗口视口的大小位置都与显示设备一致,也就是x:0, y:0, w:400, h:400。
以默认窗口视口参数在0,0点显示这张图,如上面所述,我们将这张图片看作一张地图。

在这里插入图片描述

2. 使用setWindow设置窗口区域为x:50, y:50, w:100, h:100,从地图上看,这个区域是6、7、10、11所在区域,不对视口进行设置,即保持原始值:x:0, y:0, w:400, h:400。
那么这个窗口的意义就是把6、7、10、11这个区域完全显示到视口上(即占满整个视口),由于视口等于显示设备,所以也就铺满了整个显示设备

在这里插入图片描述
3. 视口的意义是设置窗口的内容显示到显示设备的哪个位置,以及以多大的范围来显示窗口的内容。
接着上面的例子,我们将视口的区域设置为x:100, y:100, w:400, h:400,也就是把视口设置到了100,100的位置,显示范围与步骤2中一样(所以不会被缩放),所以这个设置相当于把步骤2显示的内容平移到了100,100的位置

在这里插入图片描述

4.接着步骤2中设置,也就是窗口内容6、7、10、11。我们将视口设置为x:200, y:200, w:200, h:200,即把6、7、10、11显示到右下角的区域中

注:为什么窗口的内容是6、7、10、11,但是把1、2、3、5、9也显示出来了呢?因为设置窗口时,并不会把窗口区域外面的内容都截掉,只要窗口外面的内容没有超出界面(也就是显示设备)的坐标,那么就能够被显示出来

在这里插入图片描述

http://www.dtcms.com/a/592696.html

相关文章:

  • Flink原理与实战(java版)#第1章 Flink快速入门(第一节IDE词频统计)
  • 了解GPTs
  • Biotin-FAPI-4,在化学研究和生物体系实验中主要用途
  • uni-app vue2 在 iOS 退出应用后将 cookie 清空了
  • 有趣的网站网址大学院系网站建设
  • 常见的接口测试工具有哪些?(Postman、JMeter、RestAssured等)
  • NJet event框架性能百倍提升,Why and How
  • 解析请求体内容(如 JSON、表单数据、XML 等) 将原始数据转换为 Python 数据结构 使转换后的数据可在 request. ...
  • 网页素材及网站架构制作用asp做网站优势
  • 网站建设指引快速提高网站排名
  • 未来教育图景:人工智能与培训行业的深度融合
  • java学习--匿名对象
  • 从Windows通过XRDP远程访问和控制银河麒麟 v10服务器
  • 算法31.0
  • 微信小程序端服务器接口:全部服务以及实战
  • C++11实用的“新特性”:列表初始化+右值引用与偷懒艺术——移动语义
  • CE(Chrony服务器)
  • 专门做游轮的网站聊城哪里做网站
  • STM32 几种烧录方式
  • 有哪些数据结构?
  • 7层/4层模型讲解
  • 5种主流的API架构风格
  • MAC 安装openJDK8
  • Linux网络编程:(七)Vim 编辑器完全指南:从入门到精通的全方位实战教程
  • ⚡️2025-11-10GitHub日榜Top5|AI黑客漏洞发现工具
  • 傅里叶变换五大主要特性介绍
  • 计算机网络10
  • C++基于websocket的多用户网页五子棋 --- 项目设计
  • 牛客周赛 Round 117 ABCDE 题解
  • 1.1.3 Program_Alarm的使用