qt中鼠标悬到停一个地方弹出一个QWiget控件,悬停走就销毁掉这个QWidget该怎么实现
时间: 2024-03-31 16:33:51 浏览: 65
您可以使用`QToolTip`类来实现鼠标悬停在一个控件上时显示指定的提示信息。如果您需要显示一个QWidget控件,可以在`QToolTip::showText()`函数中传入一个QWidget控件的指针作为参数。
当鼠标离开控件时,您可以使用`QToolTip::hideText()`函数来隐藏该控件。
以下是一个示例代码:
```cpp
// 在要显示控件的控件的mouseMoveEvent()函数中添加以下代码
void MyWidget::mouseMoveEvent(QMouseEvent *event)
{
// 显示QWidget控件
QWidget *myWidget = new QWidget(this);
// 设置QWidget控件的大小和位置
myWidget->setGeometry(event->globalPos().x(), event->globalPos().y(), 100, 100);
myWidget->show();
// 显示QWidget控件
QToolTip::showText(event->globalPos(), "", myWidget);
}
// 在要隐藏控件的控件的leaveEvent()函数中添加以下代码
void MyWidget::leaveEvent(QEvent *event)
{
// 隐藏QWidget控件
QToolTip::hideText();
}
```
在上面的代码中,当鼠标移动到该控件上时,会显示一个大小为100x100的QWidget控件,当鼠标离开该控件时,QWidget控件会被隐藏。
阅读全文