在Qt编程时,很多Qt控件现有的事件无法满足需求,这时候就可以采用事件过滤器,进行优化操作。下面的是本人在实际应用中编写的一个小程序。实现功能是点击不同QLabel控件对其进行相应拖动的功能。
1.在*.h文件中对事件进行重写声明
<span style="font-size:14px;">protected:
virtual bool eventFilter(QObject *target, QEvent *event); //事件过滤器函数
void mouseMoveEvent(QMouseEvent *e); //鼠标移动事件
void mouseReleaseEvent(QMouseEvent *); //鼠标放开事件</span>
2.在*.cpp文件中对事件函数重写
//安装事件过滤器
ui->label_pSpeed->installEventFilter(this);
ui->label_pMin->installEventFilter(this);
ui->label_pSec->installEventFilter(this);
ui->label_pTem