首页 > 技术文章 > Qt控件注册事件过滤器后不显示

ftrako 2013-12-23 14:00 原文

CMainWindow::CMainWindow(QWidget*parent):
QMainWindow(parent),
ui(newUi::CMainWindow)
{
ui->setupUi(this);

ui->pushButton->setHidden(false);
ui->label->installEventFilter(this);  // ui->label注册监听事件,所有与ui->label相关事件将被this监听
}

CMainWindow::~CMainWindow()
{
deleteui;
}

boolCMainWindow::eventFilter(QObject*object,QEvent*event)
{
object=object;
event=event;

qDebug()<<"eventFilter,evt="<<event->type();
return false;  // 如果返回true,则ui->label将不显示,因为事件绘制直接被截掉了
}

推荐阅读