Qt -- 事件过滤器

Qt -- 事件过滤器_第1张图片
installEventFilter()函数为所要监视的对象安装事件过滤器。
例子:

label2->installEventFilter(this);

所要监视的对象是label2,该对象的上层对象(监视该对象的对象)是this(应该是所在窗体吧)。

Qt -- 事件过滤器_第2张图片
重要地方:

1、通过eventFilter()函数来过滤(捕获)事件(根据所要监视的对象和该对象正在发生的事件类型来做相应处理)

public slots:
	bool eventFilter(QObject *, QEvent *);

参数 QObject * 是所要监视的对象,QEvent * 是该对象正在发生的事件。

之后将事件交给上层对象比如(按键在窗体QDialog中,那么return语句中的就是QDialog)

return QDialog::eventFilter(watched,event);

2、installEventFilter()函数为所要监视的对象安装事件过滤器。

你可能感兴趣的:(qt,开发语言)