pyqt5-QWidget坐标系统和大小
获取坐标和尺寸:
坐标的获取视频教程: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坐标系统和大小的更多相关文章
- qt5-QWidget坐标系统和大小和展示区域
#include "win.h" #include <QPushButton> #include <QLabel> #include <QDebug& ...
- 2. svg学习笔记-svg中的坐标系统和viewbox
我是通过<SVG精髓>这本书学习的svg,说实话,这本书写的不好,或者说翻译的不好,我没有看过这本书的原版,不知道原文写的怎么样,但是翻译出来的有些句子真的很拗口.以前老师给我们API文档 ...
- SVG中的坐标系统和坐标变换
视野和世界 2D绘图中很多人会有一个误区,就是我绘图的区域是一个矩形区域.无论新建一个画布还是创建了一个容器,心里都想象里面有一个矩形区域.其实,在SVG当中,矩形区域只是视野,是我们看到的部分.实际 ...
- 理解SVG坐标系统和变换: transform属性
SVG元素可以通过缩放,移动,倾斜和旋转来变换-类似HTML元素使用CSS transform来变换.然而,当涉及到坐标系时这些变换所产生的影响必然有一定差别.在这篇文章中我们讨论SVG的transf ...
- pyqt5 'QWidget' object has no attribute 'setCentralWidget'(转)
pyqt5 'QWidget' object has no attribute 'setCentralWidget' 2019年02月18日 16:48:28 wardenjohn 阅读数:78 ...
- pyqt5屏幕坐标系
我们直接用代码去理解屏幕坐标系 import sys from PyQt5.QtWidgets import QHBoxLayout,QMainWindow,QApplication,QPushBut ...
- unreal3的坐标系统和vector/rotator
unreal3的坐标系有点奇葩,属于[z轴向上的左手坐标系]: 1.左手食指指前方,x正向 2.大拇指指上方,z正向 3.中指指右方,y正向 若以我们人头摆正时来参考: 1.目视的是前方,x正向 2. ...
- 理解SVG坐标系统和变换: 建立新视窗
在SVG绘制的任何一个时刻,你可以通过嵌套<svg>或者使用例如<symbol>的元素来建立新的viewport和用户坐标系.在这篇文章中,我们将看一下我们如何这样做,以及这样 ...
- SVG坐标系统和transformation彻底理解
翻译自https://sarasoueidan.com/blog/svg-coordinate-systems/ SVG元素不像传统的HTML elements一样受制于css box model.这 ...
随机推荐
- 华东交通大学2018年ACM“双基”程序设计竞赛部分题解
链接:https://ac.nowcoder.com/acm/contest/221/C来源:牛客网 C-公式题(2) 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其 ...
- JAVA中循环删除list中元素
文章来源: https://www.cnblogs.com/pcheng/p/5336903.html JAVA中循环遍历list有三种方式for循环.增强for循环(也就是常说的foreach循环) ...
- hdu4899 Hero meet devil
题目链接 题意 给出一个长度字符串\(T\),其中只包含四种字符\((A,C,G,T)\),需要找一个字符串\(S\),使得\(S\)的长度为\(m\),问\(S\)和\(T\)的\(lcs\)为\( ...
- css实现文本溢出显示省略号
看到很多网站上的文章列表只显示一部分,之后就是一个阅读全文链接,或者是以一个省略号结尾.今天就说说单行文本,多行文本溢出时怎么显示省略号? 单行 overflow: hidden; white-spa ...
- 为Druid监控配置访问权限(配置访问监控信息的用户与密码)
转: l 为Druid监控配置访问权限(配置访问监控信息的用户与密码) 2014-09-26 09:21:48 来源:renfufei的专栏 收藏 我要投稿 Druid是一 ...
- opencv mat裁剪
主要记录的就是对Mat裁剪后,新Mat指向的内存和原来的Mat共用. OpenCV入门教程(3)-Mat类之选取图像局部区域
- mybatis的0和null
<if test="type!=null and type!=''">这样判断会把0也当做null的 另外写一个条件判断0 <if test="type ...
- 《Java程序设计》 第一周学习总结
20175313 <Java程序设计>第一周学习总结 教材学习内容总结 了解Java的四个特点 学习JDK的安装以及系统环境变量的设置 掌握Java源文件命名.编译.运行 熟悉git的常用 ...
- POJ 3463 Sightseeing (次短路经数)
Sightseeing Time Limit: 2000MS Memory Limit: 65536K Total Submissions:10005 Accepted: 3523 Descr ...
- 微信小程序中出现:脚本错误或者未正确调用 Page()
错误: 解决方法: //在页面当中的.js文件里面加上 Page({ })即可