获取坐标和尺寸:

坐标的获取视频教程:https://v.qq.com/x/page/t085892mzh9.html 

x()    y()   返回控件的坐标

相对于父控件的坐标(窗口框架左上角)

顶层控件(没有父控件)则相对于桌面的坐标

pos()   x和y的组合

s=window1.pos()        PyQt5.QtCore.QPoint(200, 100)

s1=s.x()   返回x坐标       s1=s.y()   返回y坐标

width()    控件的宽度,不包含任何窗口框架

height()    控件的高度,不包含任何窗口框架

size()     width和height的组合

s=window1.size()       PyQt5.QtCore.QSize(110, 100)

s.width()返回控件的宽度     s1=s.height()  返回控件的高度

geometry()  用户区域相对于父控件的位置和尺寸组合

s=window1.geometry()       PyQt5.QtCore.QRect(120, 100, 110, 100) -->QRect(x, y, width, height)

rect()    0, 0, width, height的组合

s=window1.rect()      PyQt5.QtCore.QRect(0, 0, 110, 100)

geometry()      用户区域相对于父控件的位置和尺寸组合      QRect(x, y, width, height)

frameSize()     框架大小  。一定要在show之后,否则数据错误

s=window.frameSize()      PyQt5.QtCore.QSize(296, 339)

frameGeometry()     框架位置和大小。一定要在show之后,否则数据错误

s=window.frameGeometry()      PyQt5.QtCore.QRect(55, 10, 296, 339)  参数1和参数2是move坐标   参数3和参数4是框架大小

注意: 控件显示完毕之后(show之后), 具体的位置或者尺寸数据才会正确

设置位置和尺寸:

move(x, y)      操控的是x, y;也就是pos      包括窗口框架

resize(width, height)      操控的是宽高    不包括窗口框架

如果小于最小值,就无效

setGeometry(x_noFrame, y_noFrame, width, height)    注意,此处参照为用户区域

#在show之后设置

adjustSize()    根据内容自适应大小

注意:单次有效

setFixedSize()     设置固定尺寸

最大和最小尺寸:

minimumWidth()       返回最小尺寸的宽度

minimumHeight()      返回最小尺寸的高度

minimumSize()        返回最小尺寸     PyQt5.QtCore.QSize()

maximumWidth()     返回最大尺寸的宽度

maximumHeight()      返回最大尺寸的高度

maximumSize()       返回最大尺寸

setMaximumWidth()     返回设置最大宽度

setMaximumHeight()    返回设置最大高度

setMaximumSize()        返回设置最大尺寸

setMinimumWidth()       返回设置最小宽度

setMinimumHeight()       返回设置最小高度

setMinimumSize()         返回设置最小尺寸

注意  控件完全展示前后会有所差异

控件内容展示区域:

setContentsMargins(左, 上, 右, 下)       设置控件内容展示区域到边框的距离

getContentsMargins()      获取内容边距   (左, 上, 右, 下)  元组

(50, 50, 0, 0)   就是展示区域到各边框的距离

contentsRect()     获取控件内容展示区域的位置和大小。

QRect(50, 50, 150, 50)    参数1参数2 :展示区域到控件左上角的坐标   参数3:展示区域的宽;参数4:展示区域的高

注意:必须是控件本身留够对应的大小

天子骄龙

pyqt5-QWidget坐标系统和大小的更多相关文章

  1. qt5-QWidget坐标系统和大小和展示区域

    #include "win.h" #include <QPushButton> #include <QLabel> #include <QDebug& ...

  2. 2. svg学习笔记-svg中的坐标系统和viewbox

    我是通过<SVG精髓>这本书学习的svg,说实话,这本书写的不好,或者说翻译的不好,我没有看过这本书的原版,不知道原文写的怎么样,但是翻译出来的有些句子真的很拗口.以前老师给我们API文档 ...

  3. SVG中的坐标系统和坐标变换

    视野和世界 2D绘图中很多人会有一个误区,就是我绘图的区域是一个矩形区域.无论新建一个画布还是创建了一个容器,心里都想象里面有一个矩形区域.其实,在SVG当中,矩形区域只是视野,是我们看到的部分.实际 ...

  4. 理解SVG坐标系统和变换: transform属性

    SVG元素可以通过缩放,移动,倾斜和旋转来变换-类似HTML元素使用CSS transform来变换.然而,当涉及到坐标系时这些变换所产生的影响必然有一定差别.在这篇文章中我们讨论SVG的transf ...

  5. pyqt5 'QWidget' object has no attribute 'setCentralWidget'(转)

    pyqt5 'QWidget' object has no attribute 'setCentralWidget' 2019年02月18日 16:48:28 wardenjohn 阅读数:78   ...

  6. pyqt5屏幕坐标系

    我们直接用代码去理解屏幕坐标系 import sys from PyQt5.QtWidgets import QHBoxLayout,QMainWindow,QApplication,QPushBut ...

  7. unreal3的坐标系统和vector/rotator

    unreal3的坐标系有点奇葩,属于[z轴向上的左手坐标系]: 1.左手食指指前方,x正向 2.大拇指指上方,z正向 3.中指指右方,y正向 若以我们人头摆正时来参考: 1.目视的是前方,x正向 2. ...

  8. 理解SVG坐标系统和变换: 建立新视窗

    在SVG绘制的任何一个时刻,你可以通过嵌套<svg>或者使用例如<symbol>的元素来建立新的viewport和用户坐标系.在这篇文章中,我们将看一下我们如何这样做,以及这样 ...

  9. SVG坐标系统和transformation彻底理解

    翻译自https://sarasoueidan.com/blog/svg-coordinate-systems/ SVG元素不像传统的HTML elements一样受制于css box model.这 ...

随机推荐

  1. 华东交通大学2018年ACM“双基”程序设计竞赛部分题解

    链接:https://ac.nowcoder.com/acm/contest/221/C来源:牛客网 C-公式题(2) 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其 ...

  2. JAVA中循环删除list中元素

    文章来源: https://www.cnblogs.com/pcheng/p/5336903.html JAVA中循环遍历list有三种方式for循环.增强for循环(也就是常说的foreach循环) ...

  3. hdu4899 Hero meet devil

    题目链接 题意 给出一个长度字符串\(T\),其中只包含四种字符\((A,C,G,T)\),需要找一个字符串\(S\),使得\(S\)的长度为\(m\),问\(S\)和\(T\)的\(lcs\)为\( ...

  4. css实现文本溢出显示省略号

    看到很多网站上的文章列表只显示一部分,之后就是一个阅读全文链接,或者是以一个省略号结尾.今天就说说单行文本,多行文本溢出时怎么显示省略号? 单行 overflow: hidden; white-spa ...

  5. 为Druid监控配置访问权限(配置访问监控信息的用户与密码)

    转: l 为Druid监控配置访问权限(配置访问监控信息的用户与密码) 2014-09-26 09:21:48         来源:renfufei的专栏   收藏   我要投稿   Druid是一 ...

  6. opencv mat裁剪

    主要记录的就是对Mat裁剪后,新Mat指向的内存和原来的Mat共用. OpenCV入门教程(3)-Mat类之选取图像局部区域

  7. mybatis的0和null

    <if test="type!=null and type!=''">这样判断会把0也当做null的 另外写一个条件判断0 <if test="type ...

  8. 《Java程序设计》 第一周学习总结

    20175313 <Java程序设计>第一周学习总结 教材学习内容总结 了解Java的四个特点 学习JDK的安装以及系统环境变量的设置 掌握Java源文件命名.编译.运行 熟悉git的常用 ...

  9. POJ 3463 Sightseeing (次短路经数)

    Sightseeing Time Limit: 2000MS   Memory Limit: 65536K Total Submissions:10005   Accepted: 3523 Descr ...

  10. 微信小程序中出现:脚本错误或者未正确调用 Page()

    错误: ​ 解决方法: //在页面当中的.js文件里面加上 Page({ })即可