Qt安装时间过滤器实现窗口点击事件
头文件重载过滤事件函数protected:bool eventFilter(QObject *obj, QEvent *event);//安装事件过滤器ui->textBrowser_22->viewport()->installEventFilter(this);//安装事件过滤器ui->textEdit_3->viewport()->installEvent
·
头文件重载过滤事件函数
protected:
bool eventFilter(QObject *obj, QEvent *event);
//安装事件过滤器
ui->textBrowser_22->viewport()->installEventFilter(this);//安装事件过滤器
ui->textEdit_3->viewport()->installEventFilter(this);
//重载事件过滤器函数原型
bool Widget2::eventFilter(QObject *obj, QEvent *event)
{
if (obj == ui->textBrowser_22->viewport())//指定某个QLabel
{
if (event->type() == QEvent::MouseButtonPress)//mouse button pressed
{
qDebug() << __FILE__<<__LINE__<< QString::number(event->type());
QMouseEvent *mouseEvent = static_cast<QMouseEvent*>(event);
if(mouseEvent->button() == Qt::LeftButton) //判断是否鼠标左键事件
{
return true;
}
}
}
else if (obj == ui->textEdit_3->viewport())//指定某个QLabel
{
if (event->type() == QEvent::MouseButtonPress)//mouse button pressed
{
qDebug() << __FILE__<<__LINE__<< QString::number(event->type());
QMouseEvent *mouseEvent = static_cast<QMouseEvent*>(event);
if(mouseEvent->button() == Qt::LeftButton)//判断是否鼠标左键事件
{
return true;
}
}
}
else
{
// pass the event on to the parent class
return Widget2::eventFilter(obj, event);
}
return false;
}
更多推荐


所有评论(0)