一文讲清 QWidget 大小位置

news2024/11/24 23:04:43

一文讲清 QWidget 大小位置

前言

​ QWidget 的位置基于桌面坐标系,以左上角为原点,向右x轴增加,向下y轴增加。

一、图解

在这里插入图片描述

​ 如上图所示,当窗口为顶层窗口时(即没有任何父窗口),系统会自动在外围添加 边框 和 标题栏,此时,QWidget 的大小位置区域被分为两块,即:

  • 包含 外边框 和 标题栏 的 所有区域(frameGeometry),此时:

    • 位置:x,y表示为左上绿色字体图示点处
    • 大小:宽高为绿色字体图示大小
  • 不包含 外边框 和 标题栏 的 区域(geometry),也是用户区域,此时:

    • 位置:x,y表示为左上紫色字体图示点处

    • 大小:宽高为紫色字体图示大小

二、api列举

  1. 获取相关:

    在这里插入图片描述

  2. 设置相关:

    在这里插入图片描述

三、代码演示

  1. 代码

    # 0. 导入需要的包和模块
    from PyQt5.Qt import *
    import sys
    
    
    # 1. 创建一个应用程序对象
    app = QApplication(sys.argv)
    
    window = QWidget()
    window.move(200, 100)
    window.resize(500, 500)
    
    window.show()
    
    #*******测试大小位置api*******开始
    window.setGeometry(0, 0, 300, 300)
    
    print(window.x())
    print(window.width())
    print(window.geometry())
    
    print(window.frameGeometry())
    #*******测试大小位置api*******结束
    
    # 3. 应用程序的执行, 进入到消息循环
    sys.exit(app.exec_())
    
  2. 结果:

    在这里插入图片描述

    当设置用户区域为左上角时,可以看到 frameGeometry 左上角点位置为-1, -38,因为包含边框的左上角点被隐藏了。302,339都是加上边框大小的宽度和高度。

四、总结

  • 注意:要在show之后进行大小位置的操作,即控件显示完毕之后, 具体的位置或者尺寸数据才会正确;
  • frameGeometry 包含了外边框和标题栏,geometry 单指用户区域。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1312194.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程

MongoDB 是由C语言编写的,是一个基于分布式文件存储的开源数据库系统。 在高负载的情况下,添加更多的节点,可以保证服务器性能。 MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB 将数据存储为一个文档,数据结…

RocketMQ 跟踪消息发送轨迹

目录 概述实践如何启用消息轨迹配置创建Topic代码测试 结束 概述 阅读此文可以解决 RocketMQ 中消息是否发送成功,是否消费成功。 查询消息轨迹可作为生产环境中排查问题强有力的数据支持 ,也是研发同学解决线上问题的重要武器之一。 详细如下&#x…

Navicat16 无限试用 亲测有效

Navicat16 无限试用 亲测有效 亲测有效!!! 吐槽下,有的用不了,有的是图片,更甚者还有收费的,6的一批 粘贴下面的代码,保存到桌面,命名为 trial-navicat16.bat echo off…

DDOS攻击方式有哪些,要如何防护

DDOS攻击我们也称之为流量攻击,分布式拒绝服务攻击(英文意思是Distributed Denial of Service,简称DDOS)于不同位置的多个攻击者同时向一个或数个目标发动攻击,或者一个攻击者控制了位于不同位置的多台机器并利用这些机器对受害者…

【漏洞复现】I Doc View在线文档预览任意文件读取 1day

漏洞描述 I Doc View在线文档预览是一款在线文档预览系统,可以实现文档的预览及文档协作编辑功能。其存在代码执行漏洞,使得攻击者可以通过利用这个接口,触发服务器下载并解析恶意文件,从而导致远程命令执行漏洞。进而控制服务器…

Leetcode—896.单调数列【简单】

2023每日刷题&#xff08;五十九&#xff09; Leetcode—896.单调数列 实现代码 class Solution { public:bool isMonotonic(vector<int>& nums) {int up 0;int down 0;if(nums.size() 1) {return true;}for(int i 0; i < nums.size() - 1; i) {if(nums[i] …

LTC是什么意思?CRM怎样帮助这一流程的实现?

在现代商业环境下&#xff0c;将潜在客户转化成实际销售是公司成功的基石之一。而CRM管理系统是完成LTC的有效工具。本文将向您介绍LTC是什么&#xff1f;公司怎样企业如何通过CRM实现这一流程的&#xff1f; LTC&#xff08;从线索到现金&#xff09;是企业运营管理中的一个重…

go学习之网络编程

文章目录 网络编程1、网络编程的基本介绍2.网络编程的基础知识1&#xff09;协议(tcp/ip)2&#xff09;OSI与TCP/ip参考模型3&#xff09;ip地址4&#xff09;端口(port)介绍5&#xff09;tcp socket编程的客户端和服务器端 3.socket编程快速入门4.经典项目-海量用户即时通讯系…

什么是POM设计模式?

为什么要用POM设计模式 前期&#xff0c;我们学会了使用PythonSelenium编写Web UI自动化测试线性脚本 线性脚本&#xff08;以快递100网站登录举栗&#xff09;&#xff1a; import timefrom selenium import webdriver from selenium.webdriver.common.by import Bydriver …

【媒体开发】利用FFMPEG进行推拉流

目录 1. 下载并启动媒体服务 2. 使用 FFMPEG 拉流并推送到指定服务地址 3. 客户端拉流 1. 下载并启动媒体服务 MediaMTX&#xff0c;也即之前的rtsp-simple-server&#xff0c;是一个即用型、零依赖的实时媒体服务器和媒体代理&#xff0c;允许发布、读取、代理和记录视频和…

react经验8:使用antd的checkbox实现全选与半选控制

预期实现的效果 列表项部分选中时&#xff0c;checkall处于半选状态&#xff0c;点击checkall要么全选&#xff0c;要么全不选。 实现步骤 列表项类型 declare type TableRow {key: Keytitle: stringisSelected?: boolean }示范数据 const [tabledata, setTabledata] u…

HarmonyOS4.0从零开始的开发教程16数据管理

HarmonyOS&#xff08;十四&#xff09;数据管理 1 概述 在移动互联网蓬勃发展的今天&#xff0c;移动应用给我们生活带来了极大的便利&#xff0c;这些便利的本质在于数据的互联互通。因此在应用的开发中数据存储占据了非常重要的位置&#xff0c;HarmonyOS应用开发也不例外…

低功耗蓝牙模块常见天线输出方式及选型建议

随着互联网技术的飞速发展&#xff0c;物联网&#xff08;IoT&#xff09;已经渗透到了我们生活的方方面面。作为物联网的关键技术之一&#xff0c;BLE&#xff08;低功耗蓝牙&#xff09;技术在汽车电子、智能家居、穿戴设备、工业自动化等领域发挥着举足轻重的作用。深圳市信…

一入二出热电阻温度信号隔离变送器

一入二出热电阻温度信号隔离变送器 用于测量铂热电阻Pt10,Pt100,Pt1000,Cu50,Cu100的热电阻传感器的小型仪器设备。广泛应用于工业测量温度系统&#xff0c;是降低成本且有效的测量方式。 型号&#xff1a;JSD TARZ-1002系列 我们来看下有什么特点&#xff1a; ◆小体积&#x…

ShenYu网关注册中心之Zookeeper注册原理

文章目录 1、客户端注册流程1.1、读取配置1.1.1、用于注册的 ZookeeperClientRegisterRepository1.1.2、用于扫描构建 元数据 和 URI 的 SpringMvcClientEventListener 1.2、扫描注解&#xff0c;注册元数据和URI1.2.1、构建URI并写入Disruptor1.2.2、构建元数据并写入Disrupto…

今天最新早上好问候语,清晨阳光暖心的早安问候语录

1、花以芳香而美&#xff0c;人以真诚而贵。心以善良而德&#xff0c;缘以相识而聚。彼此保重&#xff0c;相约美好。每一个清晨&#xff0c;都是快乐的开始。早安吉祥&#xff01; ​ 2、拿起手机想到你&#xff0c;我把祝福送给你&#xff0c;虽然天天在重复&#xff0c;证明…

算法 - 无重复字符的最长子串(03)

原理&#xff1a; 定义左右两个指针&#xff0c;保证两个指针对应的子串中没有重复的字符&#xff0c;寻找并记录最长的子串长度。如果窗口满足条件&#xff0c;右指针向右滑动扩大窗口&#xff0c;更新最优值&#xff1b;如果窗口不满足条件&#xff0c;左指针向右缩小窗口。…

打工人副业变现秘籍,某多/某手变现底层引擎-Stable Diffusion替换背景

在Stable Diffusion软件中,使用ControlNet+模型实现固定物体批量替换背景 出图的流程。 一、准备好图片 1.你需要准备好一些白底图或者透明底图用于训练模型。 2.你需要准备同样角度的其他背景色底图用于ControlNet勾线 3.注意检查你的图片尺寸,是否为1:1,…

L1-041:寻找250

题目描述 对方不想和你说话&#xff0c;并向你扔了一串数…… 而你必须从这一串数字中找到“250”这个高大上的感人数字。 输入格式&#xff1a; 输入在一行中给出不知道多少个绝对值不超过1000的整数&#xff0c;其中保证至少存在一个“250”。 输出格式&#xff1a; 在一行中…

移植Modelsim仿真工程

背景 上班在公司用的PC1生成并完整的进行了仿真&#xff0c;打包成zip&#xff0c;经过微信传输并在家里的PC2上打开想要继续进行仿真&#xff0c;需要如何处理呢&#xff1f; 环境 软件路径公司PC1Quartus II Prime Pro 21.4C:\intelfpga_pro\21.4\quartus\bin64\qpro.exeMo…