Qt事件触发器截获treewidget上点击事件的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt事件触发器截获treewidget上点击事件的问题相关的知识,希望对你有一定的参考价值。

环境 Qt4.7.4
变量 Qtreewidget *trw_person=new Qtreewidget 之后为该控件安装EventFilter
然后想截获在该控件上点击的事件
bool widget::eventFilter(QObject *kj,Qevent *sj)

if(kj==ui->trw_person)

if(sj->type()==Qevent::MouseButtonPress)

QMouseEvent *me=static_case<QMouseEvent * >(sj)
if(sj->button==Qt::LeftButton)

qdebug<<tr("进入此处")









代码如上,因为是手打所有大小写可能不对,但真实代码没问题。
问题是在trw_person上点击事件根本没有进入这里边,Qdebug也没有打出来,我想问一下,我截取事件用的Qevent正确么,如果不正确用什么,还有鼠标点击的event应该用什么

参考技术A 鼠标点击应该是用QMouseEvent。追问

触发器中Qevent::没有QMouseEvent这个类

追答

class Q_GUI_EXPORT QMouseEvent : public QInputEvent

class Q_GUI_EXPORT QInputEvent : public QEvent

这是他们的关系。

本回答被提问者采纳

以上是关于Qt事件触发器截获treewidget上点击事件的问题的主要内容,如果未能解决你的问题,请参考以下文章

QT怎么触发一个按钮事件

QT 中QComboBox控件鼠标事件过滤

QT 中QComboBox控件鼠标事件过滤

Qt点击QLabel控件触发CLICK事件

iScroll中事件点击触发两次解决方案

qt 不点击按钮触发按钮clicked事件