-Qt使用统一的坐标系统定位窗口部件和位置大小
-Qt部件类提供成员函数在坐标系统中进行定位
-QWidget类提供了窗口部件所需的坐标系统成员函数
代码测试
1 #include "widget.h" 2 #include <QApplication> 3 #include <QDebug> 4 5 int main(int argc, char *argv[]) 6 { 7 QApplication a(argc, argv); 8 Widget w;//这是一个空的widget 9 w.resize(300,300);//设置的是geometry的x和y大小及 10 w.move(100,100); 11 w.show(); 12 qDebug()<<"全局"; 13 qDebug()<<w.x(); 14 qDebug()<<w.y(); 15 qDebug()<<w.width(); 16 qDebug()<<w.height(); 17 qDebug()<<"geometry"; 18 qDebug()<<w.geometry().x(); 19 qDebug()<<w.geometry().y(); 20 qDebug()<<w.geometry().width(); 21 qDebug()<<w.geometry().height(); 22 qDebug()<<"framegeometry"; 23 qDebug()<<w.frameGeometry().x(); 24 qDebug()<<w.frameGeometry().y(); 25 qDebug()<<w.frameGeometry().width(); 26 qDebug()<<w.frameGeometry().height(); 27 /*summer*/ 28 //直接的x ,y 函数的x和y与framegeometry的x和y相同 29 //直接的width,height函数,和geometry的width和height相同 30 //framegeometry的宽度要加上边框,在win10下面,左右边框为8,上为31,下为8 31 //test-data 32 /* 全局 33 355 34 93 35 640 36 480 37 geometry 38 363 39 124 40 640 41 480 42 framegeometry 43 355 44 93 45 656 46 519 47 */ 48 return a.exec(); 49 }
NOTE:geometry()和frameGeometry()中的几何数据必须在show()之后调用才有效。