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