获取坐标和尺寸:

坐标的获取视频教程: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. deque双端队列容器

    //deque双端队列容器 //deque双端队列容器与vector一样,采用线性表顺序存储结构,但与vector不同的是, //deque采用的分块线性存储结构来存储数据,每块的大小一般为512字节 ...

  2. gei 操作

    git --version 查看版本号 进入项目文件 上传账号的用户名git config --global user.name "牛星宇" 上传账号的邮箱git config - ...

  3. 代码合并工具Beyond Compare的使用技巧

    使用技巧 文件合并 过滤 https://edi.wang/post/2013/2/17/using-beyond-compare 文件夹比较 http://www.beyondcompare.cc/ ...

  4. strutrs contextMap

    contextMap(非常重要) 1.动作类的生命周期 明确:动作类是多例的,每次动作访问,动作类都会实例化.所以是线程安全的.与Struts1的区别是,struts1的动作类是单例的. 2.请求动作 ...

  5. Codeforces Round #525 (Div. 2) D. Ehab and another another xor problem(待完成)

    参考资料: [1]:https://blog.csdn.net/weixin_43790474/article/details/84815383 [2]:http://www.cnblogs.com/ ...

  6. 表格模型的监听 TableModelListener

    当表格内容发生改变,监听做了哪些操作,需要表格模型的监听 TableModelListener来实现. 以上一个随笔内容<高级组件——表格模型TableModel>为例,增加监听事件内容. ...

  7. grub.conf解析

    一.grub简介系统启动引导管理器,是在计算机启动后运行的第一个程序,他是用来负责加载.传输控制到操作系统的内核,一旦把内核挂载,系统引导管理器的任务就算完成退出,系统引导的其它部份,比如系统的初始化 ...

  8. (string 数组) leetcode 804. Unique Morse Code Words

    International Morse Code defines a standard encoding where each letter is mapped to a series of dots ...

  9. MySQL数据库优化_limit_2

    limit豫union一起使用时的优化 cp_order_exit数据行数:142951 cp_order_exit_led数据行数:20876 查询:这条 查询将会把 cp_order_exit中的 ...

  10. jenkins 基本配置

    修改jenkins使用用户和启动端口 //yum 安装 cat /etc/sysconfig/jenkins 安装完后安装maven插件 设置jenkins项目存放目录 系统管理---->系统设 ...