Qt事件触发器截获treewidget上点击事件的问题
环境Qt4.7.4变量Qtreewidget*trw_person=newQtreewidget之后为该控件安装EventFilter然后想截获在该控件上点击的事件boo...
环境 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应该用什么 展开
变量 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应该用什么 展开
1个回答
展开全部
鼠标点击应该是用QMouseEvent。
追问
触发器中Qevent::没有QMouseEvent这个类
追答
class Q_GUI_EXPORT QMouseEvent : public QInputEvent
class Q_GUI_EXPORT QInputEvent : public QEvent
这是他们的关系。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
微测检测5.10
2023-05-10 广告
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇...
点击进入详情页
本回答由微测检测5.10提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询