#include "win.h"#include#include#includeWin::Win(QWidget*parent)
: QWidget(parent)
{this->resize(500,400);
QPushButton* btn=new QPushButton("按钮",this);
btn->move(15,10);
i=btn->x(); //返回控件的x坐标
qDebug()<
i=btn->y(); //返回控件的y坐标
qDebug()<
}
相对于父控件的坐标(窗口框架左上角)
顶层控件(没有父控件)则相对于桌面的坐标
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的坐标系统,包括控件相对于父控件和桌面的坐标,以及如何获取和设置控件的位置、大小、几何信息。同时,讨论了控件的最大和最小尺寸设定,以及内容展示区域的调整方法。
388

被折叠的 条评论
为什么被折叠?



