#include "win.h"
#include <QPushButton>
#include <QLabel>
#include <QDebug> Win::Win(QWidget *parent)
: QWidget(parent)
{
this->resize(,);
QPushButton* btn=new QPushButton("按钮",this);
btn->move(,);
i=btn->x(); //返回控件的x坐标
qDebug()<<i;
i=btn->y(); //返回控件的y坐标
qDebug()<<i;
}

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

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

QPoint point;
point=btn->pos(); //返回控件的坐标--QPoint(15,10)
i=point.x();//提取x坐标
i=point.y();//提取y坐标
i=btn->width();  //控件的宽度,不包含任何窗口框架
i=btn->height(); //控件的高度,不包含任何窗口框架
QSize size;
size=btn->size(); //返回控件的宽和高;width和height的组合--QSize(100, 30)
i=size.width(); //提取宽度
i=size.height();//提取高度
QSize size;
QRect rect;
rect=btn->geometry(); //相对于父控件的位置和尺寸的组合---QRect(15,10 100x30)
i=rect.x(); //提取x坐标
i=rect.y(); //提取y坐标
size=rect.size();//提取大小--宽和高
i=rect.width(); //提取宽
i=rect.height(); //提取高
QSize s;
s=w.frameSize(); //框架大小.一定要在show之后,否则数据错误--QSize(516, 439)
QRect rect;
rect=w.frameGeometry(); //框架位置和大小。一定要在show之后,否则数据错误--QRect(425,133 516x439)

设置位置和尺寸:

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

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

如果小于最小值,就无效

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

#在show之后设置

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

注意:单次有效,在设置内容后面使用

this->setFixedSize(500,400);  // 设置固定尺寸

最大和最小尺寸:

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

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

minimumSize()        返回最小尺寸     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:展示区域的高

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

qt5-QWidget坐标系统和大小和展示区域的更多相关文章

  1. pyqt5-QWidget坐标系统和大小

    获取坐标和尺寸: 坐标的获取视频教程:https://v.qq.com/x/page/t085892mzh9.html  x()    y()   返回控件的坐标 相对于父控件的坐标(窗口框架左上角) ...

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

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

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

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

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

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

  5. CSS-蜂窝状展示区域(多个六边形)的一种实现方式

    网上已经有很多关于正六边形的CSS画法,主要是利用一个矩形和前后的两个三角形组合而成. 之前在看四维图新的官网的时候,发现了一种六边形的画法,比较适合多排六边形组合成蜂窝状的展示区域(注:四维图新现在 ...

  6. js 基于可视区域 创建展示区域对应的经纬度二维数组

    本篇文章主要是分享下基于地图区域创建经纬度二维数组,需要的朋友可以过来参考下 接上个文章, 基于 地图区域,算出这个展示区域对应的点. 经纬度的变化关系:  XY页面展示上, 从左到右维度是增加 如: ...

  7. AS3舞台的大小,可视区域大小及SWF文件的原始尺寸大小

    AS3舞台的大小,可视区域大小及SWF文件的原始尺寸大小三者之间没有什么关系. 当前可视区域:stage.stageWidth,stage.stageHeight.SWF文件编译后的原始尺寸大小:lo ...

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

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

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

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

随机推荐

  1. classmethod自己定制

    # # 利用描述符原理定义一个@classmethod # class ClassMethod: # def __init__(self,func): # self.func = func # def ...

  2. Cannot get a NUMERIC value from a STRING cell? 已解决

    最近在写项目中用到了excel的导入,遇到了Cannot get a NUMERIC value from a STRING cell的报错.原因是无法从纯数字的单元格用获取String的方式获取.跟 ...

  3. 【Linux开发】linux设备驱动归纳总结(九):1.platform总线的设备和驱动

    linux设备驱动归纳总结(九):1.platform总线的设备和驱动 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

  4. 利用commons-pool2自定义对象池

    一.为什么使用对象池   恰当地使用对象池化技术,可以有效地减少对象生成和初始化时的消耗,提高系统的运行效率.commons-pool2是Apache下一个开源的公共资源池.我们可以根据它来快速的建立 ...

  5. Oracle 用户管理权限

    Oracle 用户管理权限 一.创建用户的Profile文件 SQL> create profile student limit // student为资源文件名 FAILED_LOGIN_AT ...

  6. oracle数据段详解

    Tablespace(表空间):表空间是数据库的逻辑划分,一个表空间只能属于一个数据库.所有的数据库对象都放在指定的表空间中,但主要存放的对象是表,所以称为表空间. 默认的系统表空间:system.s ...

  7. 索引及explain 详解

    索引的分类: 普通索引:仅加速查询 唯一索引:加速查询 + 列值唯一(可以有null) 主键索引:加速查询 + 列值唯一(不可以有null)+ 表中只有一个 组合索引:多列值组成一个索引,专门用于组合 ...

  8. Java代码 简单用于处理和数据库相关的操作

    package util; import org.apache.commons.beanutils.BeanUtils; import java.lang.reflect.InvocationTarg ...

  9. py2 json字符串转字典去掉前缀u

    def unicode_convert(input): if isinstance(input, dict): return {unicode_convert(key): unicode_conver ...

  10. C语言经典100例(1-50)

    [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去掉不满足条件的排列. main ...