将鼠标移动到控件上,提示相关信息
重载event(QEvent *event)函数
1、判断鼠标是否在控件上面:
if(ui->控件ID->geometry().contains(this->mapFromGlobal(QCursor::pos())))
2、如果要获取控件中的每一个控件是否鼠标在上面:
控件2必须是控件1中的控件,通过获取子窗口和鼠标绝对位置来判断
if(控件ID2->geometry().contains(控件ID->mapFromGlobal(QCursor::pos())))
event中代码:
bool 类::event(QEvent *event)
{
QString add = "";
if (event->type() == QEvent::ToolTip)
{
QHelpEvent *helpEvent = static_cast<QHelpEvent *>(event);
if(ui->控件ID->geometry().contains(this->mapFromGlobal(QCursor::pos())))
{
add = "提示";
QToolTip::showText(helpEvent->globalPos(), add);
}
else
{
QToolTip::hideText();
event->ignore();
}
return true;
}
return QWidget::event(event);
}
当鼠标移动到相应的控件上面时就会显示提示信息