自学内容网 自学内容网

Qt 窗口中鼠标点击事件的坐标探讨

// 鼠标点击事件
void Widget::mousePressEvent(QMouseEvent *event)
{
/*
event->pos()、event->windowPos()和event->localPos()都表示鼠标点击位置在窗口中的位置,
它们的值都是一样的,区别在于event->pos()是QPoint类型,event->windowPos()和event->localPos()
是QPointF类型。
*/
event->pos();
event->windowPos();
event->localPos();

/*
event->globalPos()和event->screenPos()都表示鼠标点击位置在电脑桌面的位置(电脑桌面左上角为原点),区别在于event->globalPos()是QPoint类型,event->screenPos()是QPointF类型。 
*/
event->globalPos();
event->screenPos();

/*
窗口左上角(有标题栏时,以标题栏左上角为窗口左上角)在电脑桌面的位置
*/
this->pos();
}

值得注意的是event->pos()、event->windowPos()和event->localPos()用来获取鼠标光标在窗口内的当前位置,以窗口左上角为原点(是不包括标题栏的左上角)如下图所示:
在这里插入图片描述


原文地址:https://blog.csdn.net/qq_42432673/article/details/142653819

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!