LINUX.ORG.RU

Добавил eventFilter пропала кнопка с формы

 


0

1

Вот такой код

MyWidget::MyWidget(QWidget* parent)
{
...
    m_button[2]->setGeometry(QRect(QPoint(50, 450), QSize(100, 50)));
    m_button[2]->installEventFilter(this);
...
}
bool MyWidget::eventFilter(QObject* watched, QEvent* event)
{
	if (watched == m_button[2])
	{
                if (event->type() == QEvent::MouseButtonPress)
		{
			/*Mouse down button event */
			qDebug() << tr("Monitor button event, button press event");
			return true;
		}
	}
}
Вот этот код ниже делает кнопку прозрачной, как вернуть?
	m_button[2]->installEventFilter(this);

Возможно следует вызывать watched->processEvent(event) в конце твоего фильтра. Возможно после клика мышкой летит event события перерисовки кнопки (анимация нажатия), но в твоём фильтре он никак не обрабатывается.

EXL ★★★★★
()

bool MyWidget::eventFilter(QObject* watched, QEvent* event)

А внутри метода QWidget::eventFilter(watched, event) вызывается? Судя по документации, результат его выполнения и должен возвращаться в случаях, когда оно не заходит в твои условия.

s3rjke
()