-Qt使用统一的坐标系统定位窗口部件和位置大小
-Qt部件类提供成员函数在坐标系统中进行定位
-QWidget类提供了窗口部件所需的坐标系统成员函数


代码测试
#include "widget.h"
#include <QApplication>
#include <QDebug>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;//这是一个空的widget
w.resize(300,300);//设置的是geometry的x和y大小及
w.move(100,100);
w.show();
qDebug()<<"全局";
qDebug()<<w.x();
qDebug()<<w.y();
qDebug()<<w.width();
qDebug()<<w.height();
qDebug()<<"geometry";
qDebug()<<w.geometry().x();
qDebug()<<w.geometry().y();
qDebug()<<w.geometry().width();
qDebug()<<w.geometry().height();
qDebug()<<"framegeometry";
qDebug()<<w.frameGeometry().x();
qDebug()<<w.frameGeometry().y();
qDebug()<<w.frameGeometry().width();
qDebug()<<w.frameGeometry().height();
/*summer*/
//直接的x ,y 函数的x和y与framegeometry的x和y相同
//直接的width,height函数,和geometry的width和height相同
//framegeometry的宽度要加上边框,在win10下面,左右边框为8,上为31,下为8
//test-data
/* 全局
355
93
640
480
geometry
363
124
640
480
framegeometry
355
93
656
519
*/
return a.exec();
}
NOTE:geometry()和frameGeometry()中的几何数据必须在show()之后调用才有效。
这篇博客介绍了Qt框架中窗口部件的坐标系统及其管理,包括如何使用QWidget类的成员函数进行定位和调整大小。代码示例展示了resize()、move()、geometry()和frameGeometry()等函数的用法,并讨论了它们之间的区别,如frameGeometry考虑了边框尺寸。在Windows 10环境下,frameGeometry的宽度包含了8像素的边框。测试数据显示了不同函数返回的坐标和尺寸值。
1万+

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



