效果:鼠标移到btn,就出现信息

核心代码
给按钮安一个过滤器
btn1->installEventFilter(this)
鼠标移动事件
bool MainWindow::eventFilter(QObject* watched, QEvent* event)
{
//移到btn上了吗?
if (watched == btn1)
{
//是鼠标进入吗?
if (event->type() == QEvent::Enter)
{
//显示弹窗
win_ptr=new Widget();
}
//是鼠标离开吗?
if (event->type() == QEvent::Leave)
{
//删了弹窗
delete win_ptr;
}
}
//把事件还给父控件,事件继续循环
return QWidget::eventFilter(watched, event);
}
文章介绍了如何在Qt中给按钮添加事件过滤器,以实现鼠标移动时(Enter/Leave)控制信息窗口的显示和隐藏,通过`eventFilter`函数处理事件并传递给父控件。

3425

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



