我包括#include <QFocusEvent>
到我的代碼和實施focusOutEvent
如下:focusOutEvent不叫
void MyWidget::focusOutEvent(QFocusEvent *e)
{
if(e->type() == QEvent::FocusOut)
{
fprintf(stderr, "hello");
}
}
微件描述符具有以下額外的線路:
installEventFilter(this);
setFocusPolicy(Qt::WheelFocus);
我也有頭文件定義如下:
virtual void focusOutEvent(QFocusEvent * event);
問題是,無論我做什麼(標籤或者在其他地方點擊)不會調用這個焦點事件。我該如何解決這個問題?
'installEventFilter(本);'應被刪除。通常不需要爲同一對象添加事件過濾器對象。如果事件在'eventFilter'方法實現中被過濾(如果有的話),它也可能是麻煩的原因。 –
刪除了'installEventFilter',但沒有更改。 – www