请教一个事件过滤的问题
在一个窗口程序下实现一个取窗口颜色的控件,控件左边是一个颜色填充的矩形,右边是个“画笔”图标。要求:点击“画笔”后,1.禁止窗口上的其他控件响应鼠标事件,这个控件可以响应鼠标事件。2.控件上的 矩形的颜色随着鼠标的移动而变化,颜色就是鼠标的屏幕坐标点的颜色。我的代码:void XXX::mousePressEvent(QMouseEvent *event){ if(!m_bPenDown) //第一次点击画笔 { pApp->installEventFilter(this); // pApp = (QApplication*)QApplication::instance() 。。。 } esle //再次点击画笔 { m_bPenDown = false; }}void XXX::eventFilter(QObject *obj, QEvent *event){ if (event->type() == QEvent::MouseButtonPress) { if(Qt::LeftButton == ((QMouseEvent*)event)->button()) { if(鼠标点击发生在控件之外) { 获取颜色; emit colorChange(XXX); update(); } else { pApp->removeEventFilter(); } } } else if(event->type() == QEvent::MouseMove) { 获取颜色; update(); } return true; } 主要问题:控件矩形中的颜色不能够随鼠标移动刷新,只有当鼠标再次点击画笔时,颜色才能刷新。求解决办法!!!