Qt中常见的坐标位置函数的梳理包括x0、y、pos()、rect()、size()和geometry()等
1、画图梳理
●x0、y0和pos()函数的作用都是获得整个窗体左上角的坐标位置。
●frameGeometr与()函 数与geometry()函数相对应。frameGeometry()函数获得的是整个窗体的左上项点和长、宽值,而geometry()函数获得的是窗体内中央区域的左上顶点坐标及长、宽值。
●直接调用width()和height()函数获得的是中央区域的长、宽值。
●rect()、size()函数获得的结果也都是对于窗体的中央区域而言的。size()函数获得的是窗体中央区域的长、宽值。rect()函 数与geometry()函数相同,返回一个QRect对象,这两个函数获得的长、宽值是相同的,都是窗体中央区域的长、宽值,只是左上顶点的坐标值不一-样。geometry()函数获得的左上顶点坐标是相对于父窗体而言的坐标,而rect()函数获得的左上顶点坐标始终为(0,0)。
2、代码实验
QString xStr; //获得x()函数的结果并显示
xValueLabel->setText(xStr.setNum(x()));
QString yStr; //获得y()函数的结果并显示
yValueLabel->setText(yStr.setNum(y()));
QString frameStr; //获得frameGeometry()函数的结果并显示
QString tempStr1,tempStr2,tempStr3,tempStr4;
frameStr = tempStr1.setNum(frameGeometry().x())+","+tempStr2.setNum(frameGeometry().y())+
","+tempStr3.setNum(frameGeometry().width())+","+tempStr4.setNum(frameGeometry().height());
FrmValueLabel->setText(frameStr);
QString positionStr; //获得pos()函数的结果并显示
QString tempStr11,tempStr12;
positionStr =tempStr11.setNum(pos().x())+","+tempStr12.setNum(pos().y());
posValueLabel->setText(positionStr);
QString geoStr; //获得geometry()函数的结果并显示
QString tempStr21,tempStr22,tempStr23,tempStr24;
geoStr =tempStr21.setNum(geometry().x())+","+tempStr22.setNum(geometry().y())+
","+tempStr23.setNum(geometry().width())+","+tempStr24.setNum(geometry().height());
geoValueLabel->setText(geoStr);
QString wStr,hStr; //获得width()、height()函数的结果并显示
widthValueLabel->setText(wStr.setNum(width()));
heightValueLabel->setText(hStr.setNum(height()));
QString rectStr; //获得rect()函数的结果并显示
QString tempStr31,tempStr32,tempStr33,tempStr34;
rectStr =tempStr31.setNum(rect().x())+","+tempStr32.setNum(rect().y())+
","+tempStr33.setNum(width())+","+tempStr34.setNum(height();
rectValueLabel->setText(rectStr);
3.演示