在QT中对label增加单击事件

1.加入头文件

#include 

 

2.在构造函数数添加该部件的事件过滤器,

ui->label->installEventFilter(this);

 

3.事件过滤器

bool MainWindow::eventFilter(QObject *watched, QEvent *event)
{
    static int cout = 0;

    if(watched == ui->label)
    {

        //判断事件
        if(event->type() == QEvent::MouseButtonPress)
        { 
            qDebug() << "push the button:" << cout++;
            return true; //该事件已处理
        }
        else
        {
            return false; //如果是其它事件,可以进行进一步的处理
        }
    }
    else
    {
        return QWidget::eventFilter(watched, event);
    }
}

 

你可能感兴趣的:(Qt,Qt,label,单击事件)