事件过滤器针对一类或者多种不同类型的对象,定义了重写操作。
简单的说:
1、先对UI对象注册Event Filter
例如: ui->drawBtn->installEventFilter(this);
2、定义过滤器操作事件
bool BaseWidget::eventFilter(QObject *obj, QEvent *e)
{
switch(e->type())
{
case QEvent::MouseButtonPress:
QToolTip::showText(static_cast<QMouseEvent *>(e)->globalPos(),
static_cast<QWidget *>(obj)->toolTip());
break;
default:
break;
}
return false;
}
在此便实现了点击具体对象时,弹出QToolTip事件。
时间: 2024-10-17 01:21:47