一、区别概述

  Qt 提供了很多关于获取窗体位置及显示区域大小的函数,如 x()、y() 和 pos()、rect()、size()、geometry() 等,统称为“位置相关函数”或“位置函数”。
  几种主要位置函数及其之间的区别如下所示:
  其中,

  • x()、y() 和 pos() 函数的作用都是获取整个窗体左上角的坐标位置。
  • frameGeometry() 函数与 geometry() 函数相对应。frameGeometry() 函数获得的是整个窗体的左上顶点和长、宽值,而 geometry() 函数获得的是窗体内中央区域的左上顶点坐标及长、宽值。
  • 直接调用 width() 和 height() 函数获得的是中央区域的长、宽值。
  • rect()、size() 函数获得的结果也都是对于窗体的中央区域而言的。size() 函数获得的是窗体中央区域的长、宽值。rect() 函数与 geometry() 函数相同,返回一个 QRect 对象,这两个函数获得的长、宽值是相同的,都是窗体中央区域的长、宽值,只是左上顶点的坐标值不一样。geometry() 函数获得的左上顶点坐标是相对于父窗体而言的坐标,而 rect() 函数获得的左上顶点坐标始终为 (0,0) 。

  在实际应用中,需要根据情况使用正确的位置信息函数以获得准确的位置尺寸信息,尤其是在编写对位置精度要求较高的程序(如地图浏览程序)时,更应注意函数的选择,以避免产生不必要的误差。


QT5开发及实例学习之十五Qt5位置相关函数相关推荐

  1. QT5开发及实例学习之十六Qt5基础图形的绘制

    文章目录 前言 一.绘图框架设计 二.绘图区的实现 三.主窗口的实现 前言   设计界面,区分各种形状及画笔颜色.画笔线宽.画笔风格.画笔顶帽.画笔连接点.填充模式.铺展效果.画刷颜色.画刷风格设置等 ...

  2. QT5开发及实例学习之十四Qt5排版功能

    文章目录 一.实现段落对齐 二.实现文本排序 一.实现段落对齐   完成对按下某个对齐按钮的响应函数,根据比较判断触发的是哪个对齐按钮,调用 QTextEdit 的 setAlignment() 函数 ...

  3. QT5开发及实例学习之十二Qt5图像坐标变换

    文章目录 前言 一.缩放功能 二.旋转功能 三.镜像功能 前言   QMatrix 类提供了世界坐标系统的二维转换功能,可以使窗体转换变形,经常在绘图程序中使用,还可以实现坐标系统的移动.缩放.变形及 ...

  4. QT5开发及实例学习之十八显示Qt5 SVG格式图片

      SVG 的英文全称是 Scalable Vector Graphics,即可缩放的矢量图形.它是由万维网络联盟 ( World Wide Web Consortium, W3C ) 在 2000 ...

  5. QT5开发及实例学习之十Qt5主窗口构成

    文章目录 一.基本元素 1.菜单栏 2.状态栏 3.工具栏 4.锚接部件 5.中心部件 6.激活上下文菜单 二.文本编辑器示例 三.菜单与工具栏的实现 1. 动作(Action)的实现 2. 菜单(M ...

  6. QT5开发及实例学习之十九图形视图体系结构

    文章目录 一.Graphics View 框架结构的主要特点 二.Graphics View 框架结构的三元素 2.1 场景类:QGraphicsScene 类 2.2 视图类:QGraphicsVi ...

  7. Android开发笔记(七十五)内存泄漏的处理

    内存泄漏的原因 一直以来以为只有C/C++才存在内存泄漏的问题,没想到拥有内存回收机制的Java也可能出现内存泄漏.C/C++存在指针的概念,程序中需要使用指针变量时,就从内存中开辟一块区域,并把该区 ...

  8. Android开发笔记(六十五)多样的菜单

    菜单Menu Android的菜单分为两类:选项菜单和上下文菜单,默认使用选项菜单.菜单的布局文件存放在res/menu目录下,使用ADT新建一个Android工程,首页代码MainActivity中 ...

  9. QT5开发及实例学习之十七Qt5双缓冲机制

    文章目录 一.原理与设计 二.绘图区的实现 三.主窗口的实现 一.原理与设计   所谓双缓冲机制,是指在绘制控件时,首先将要绘制的内容绘制在一个图片中,再将图片一次性地绘制到控件上.在早期的 Qt 版 ...

最新文章

  1. python做大型网站_Python中的大型Web应用:一个好的架构
  2. [No00009D]使用visual studio 2015 update3打包程序安装包的简单方法(不需要InstallShield)...
  3. 数学有多震撼?!我真的没有在开车!
  4. spring environment_程序员:Spring项目中简单几步实现多个动态数据源切换
  5. cad怎么快速算面积_用cad算面积的快捷键方法步骤详细,大朗CAD培训班
  6. 【HBase从入门到精通系列】如何避免HBase写入过快引起的各种问题
  7. 大数据数据收集数据困难_大数据就是好数据吗?研究人员在处理大数据集时遭遇的 5 大挑战...
  8. 收藏 | 在算法工程师的道路上,你掌握了什么概念或技术使你感觉自我提升突飞猛进?...
  9. 自动建议下拉菜单_word排版技巧:如何撤销删除自动编号
  10. spring原理学习
  11. ssas ssrs_如何使用SSAS表格模型数据库创建简单的SSRS报告
  12. I00004 贝尔三角形(解法二)
  13. 回顾︱时间序列预测与分解有哪些模型?(一)
  14. OpenStack KVM环境搭建
  15. 2019数模美赛规则
  16. Linux多线程编程-线程函数返回值(返回复杂数据类型)
  17. deepin[idea添加桌面]
  18. c# word文档基本操作 (上)
  19. 循环视频背景:让网站首页动起来是怎样的一种感觉
  20. minSdk(API 29) deviceSdk(API 127)

热门文章

  1. numpy 生成任意shape的随机整数
  2. oracle视图无法使用rowid,请问:无法从没有键值保存表的连接视图中选择 ROWID 这个是什么原因啊?...
  3. mysql使用cmd命令连接_通过cmd命令连接mysql
  4. 简历javaweb项目描述怎么写_硬件工程师简历-项目经验怎么写【范文】
  5. php哈希取模,PHP取模hash和一致性hash操作Memcached分布式集群
  6. jQuery获取元素索引值index()方法
  7. js时间格式化函数(兼容IOS)
  8. ios页面间传递参数四种方式
  9. 工厂支持多数据库开发的三层结构模式随笔(一)
  10. mysql异机备份_RMAN异机恢复备份集权限问题