当前位置:网站首页>【QT】窗口几何布局学习
【QT】窗口几何布局学习
2022-08-09 14:59:00 【Small-K】

首先我们由上图可知,QT的窗口分为两部分
一部分是内部的content区,另一部分是frame区,content里包含了窗口的各种控件,frame主要是外边框和标题栏。
QT提供了两套函数来供我们获取这两部分的基本坐标。
content区:
geometry().x() :获取内容部分左上角点相对于整个屏幕的x坐标
geometry().y() :获取内容部分左上角点相对于整个屏幕的y坐标
size() : 获取内容部分的宽高,返回值是一个QSize类型,(宽,高)
width():获取内容部分的宽
height():获取内容部分的高
geometry():获取内容部分的宽高和左上角坐标信息,返回值是一个QRect类型,(x,y width,height)
frame区:
x():获取整个窗口左上角的x坐标
y():获取整个窗口左上角的y坐标
framesize():获取整个窗口的宽高,返回值是一个QSize类型,(宽,高)
frameGeometry().width():获取整个窗口的宽
frameGeometry().height():获取整个窗口的高
frameGeometry():获取整个窗口部分的宽高和左上角坐标信息,返回值是一个QRect类型,(x,y width,height)
注意:当我们使用QWidge的公有函数.resize(int width, int height)时,所指定的宽高是指内容区的宽高。
代码演示:
//main.cpp
#include <QWidget>
#include <QApplication>
#include <QDebug>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget w;
w.show();
w.resize(800,600);
qDebug()<<"the width:"<<w.width();
qDebug()<<"the height:"<<w.height();
qDebug()<<"the size:"<<w.size();
qDebug()<<"the framesize:"<<w.frameSize();
qDebug()<<"the x:"<<w.x()<<" the y:"<<w.y();
qDebug()<<"the geometry().x():"<<w.geometry().x() << " the geometry().y():"<<w.geometry().y();
qDebug()<<"the geometry:"<<w.geometry();
qDebug()<<"the framegeometry:"<<w.frameGeometry();
return a.exec();
}
输出结果:
边栏推荐
猜你喜欢

flask局域网访问失败解决方法(使用pycharm运行代码的一定要看)

R-CNN Fast R-CNN Faster R-CNN总结

杭州富阳科目三考试

Stetman读paper小记:Backdoor Learning: A Survey(Yiming Li, Yong Jiang, Zhifeng Li, Shu-Tao Xia)

CRM定制开发需要多少钱 CRM系统定制开发价格

【力扣】17. 电话号码的字母组合

数学规划模型

深入浅出最优化(6) 最小二乘问题的特殊方法
![[Deep Learning] SVM solves the linear inseparable situation (8)](/img/3c/199f3ff3fb0546bcd7f70bd71030a0.png)
[Deep Learning] SVM solves the linear inseparable situation (8)

【Postgraduate Work Weekly】(Week 8)
随机推荐
Time series analysis
【剑指 Offer】 37. 序列化二叉树
【知识分享】知识链路-Modbus通信知识链路
matlab讲解与使用【持续更新中ing】
Heap series _0x03: heap block + malloc/new bottom layer + LFH (WinDbg analysis)
Vim实用技巧_4.管理多个文件(打开 + 切分 + 保存 + netrw)
【力扣】98. 验证二叉搜索树
【学习笔记】win10报0xc0000221错误无法开机
【力扣】662. 二叉树最大宽度
解决pyqt5 DLL load failed: 找不到指定的程序的问题
【深度学习】模型选择、欠/过拟合和感受野(三)
【知识分享】Modbus通信协议详解
[Paper reading] LIME: Low-light Image Enhancement via Illumination Map Estimation (the most complete notes)
【力扣】17. 电话号码的字母组合
【SQL】595. 大的国家
Vim实用技巧_1.vim解决问题的方式
机器学习的基本术语
Postgraduate Work Weekly
Vim实用技巧_0.vim - introduction
Visual Studio 2019新手使用(安装并创建第一个程序详细教程)