QT中窗口位置、相对位置、绝对位置


下面以一个简单demo说明如上坐标,在一个widget里重写了mousePressEvent方法,在这个方法里获取绝对坐标和相对坐标

c 复制代码
void Widget::mousePressEvent(QMouseEvent *event)
{
    qDebug() << "mouse juedui position:" << QCursor::pos();  //鼠标绝对位置:相对于桌面左上角原点位置

    qDebug() << "mouse event->pos:" << event->pos();  //相对位置:相对于控件左上角原点位置
    qDebug() << "mouse event->globalPos:" << event->globalPos();
}

当鼠标点击如上点时获取的结果如下:


demo代码如下:

bash 复制代码
void Widget::on_pushButton_clicked()
{
    qDebug() << "btn postion:" << ui->pushButton->pos();  //相对位置,按钮控件相对于应用窗口原点位置

    qDebug() << "btn global postion:" << ui->pushButton->mapToGlobal(QPoint(0,0)); //绝对位置,相对于桌面原点的绝对位置

    qDebug() << "btn size:"<< ui->pushButton->rect();  //返回控件大小

    qDebug() << "widget position:"<< this->geometry();  //绝对大小

    qDebug() << "widget size:"<< this->rect();  //返回窗口widget大小
}

结果如下:

相关推荐
LiuYaoheng8 分钟前
问题记录:Android Studio Low memory
android·ide·android studio
pingan878713 分钟前
试试 docx.js 一键生成 Word 文档,效果很不错
开发语言·前端·javascript·ecmascript·word
big_rabbit050218 分钟前
java面试题整理
java·开发语言
刺客xs33 分钟前
c++模板
java·开发语言·c++
weixin_5375904540 分钟前
《C程序设计语言》练习答案(练习1-5)
c语言·开发语言
阳光永恒73643 分钟前
Python零基础入门全套资料包免费分享 | 从0到1系统学习路线(含课件+源码+实战案例)
开发语言·python·学习·编程入门·python教程·编程学习·免费资料
紫丁香1 小时前
pytest_自动化测试1
开发语言·python·功能测试·单元测试·pytest
2301_818419011 小时前
C++中的状态模式实战
开发语言·c++·算法
独隅1 小时前
Python 标准库 (Standard Library) 全面使用指南
android·开发语言·python
yuzhuanhei1 小时前
C++进阶(上)
开发语言·c++