Qt中常见的坐标位置函数的梳理包括x、y、pos()、rect()、size()和geometry()等

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.演示

  • 8
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值