Qt开发中触发鼠标悬停事件


Qt开发中触发鼠标悬停事件

比如我有一个tableWidget,需要在鼠标悬停时,显示一些信息或者打印一些信息,可如下操作:

ui->tableWidget->setAttribute(Qt::WA_Hover,true);//开启悬停事件
ui->tableWidget->installEventFilter(this);       //安装事件过滤器

//事件过滤器
bool FormSimpleShow::eventFilter(QObject *obj, QEvent *event)
{
    if(obj == ui->tableWidget) {
        if(event->type() == QEvent::HoverEnter) {
            qDebug() << event;
            return true;
        }
    }
    return QWidget::eventFilter(obj,event);
}

代码中打印event的部分就可以进行相应的处理了。
除了可以过滤QEvent::HoverEnter,还可以过滤QEvent::HoverMove和QEvent::HoverLeave;具体就根据需求来了。当然如果只是想达到如上目的,用QEvent::Enter也是可以的。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM