参考:
https://www.cnblogs.com/god-of-death/p/7815720.html
https://blog.csdn.net/hyongilfmmm/article/details/83015541
步骤:
第一:对目标对象调用installEventFilter()来注册监视对象(事件过滤器);
第二:重写监视对象的eventFilter()函数处理目标对象的事件。
代码:
dialog.h:
class Dialog : public QDialog
{
Q_OBJECT
public:
explicit Dialog(QWidget *parent = 0);
~Dialog();
bool eventFilter(QObject *, QEvent *);//对目标对象调用installEventFilter()来注册监视对象(事件过滤器);
private:
Ui::Dialog *ui;
};
dialog.cpp:
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
ui->label->installEventFilter(this); //ui中创建了一