
子窗口获取geometry(),是相对于父窗口的相对位置,QCursor::pos()获取的是鼠标绝对位置,要不将父窗口的相对位置进行换算,要不将鼠标的绝对位置进行换算,这里本文采用将鼠标绝对位置换算到控件上,示例代码如下:
if(ui->groupBox->geometry().contains(this->mapFromGlobal(QCursor::pos())))
鼠标事件的坐标
void DrawBaseWidget::wheelEvent(QWheelEvent *event) // 滚轮事件
{
m_bWheelEvent = true;
auto pos = event->pos();//得到的坐标已经是相对于当前窗口的相对坐标,不用换算
本文介绍了在Qt中如何判断鼠标是否位于特定子窗口控件上方。通过对比子窗口的geometry()与鼠标绝对位置QCursor::pos(),将鼠标坐标转换为相对于控件的坐标,以实现精确的坐标判断。
2473

被折叠的 条评论
为什么被折叠?



