• 3951阅读
  • 5回复

[提问]QTableWidget 的eventFilter事件 [复制链接]

上一主题 下一主题
离线foxgod
 

只看楼主 倒序阅读 楼主  发表于: 2013-03-06
我在我的tabwidget类里面写了个eventFilter事件,我这样写 if (object == tableWidget->viewport() || object == tableWidget),这样才能同时处理QEvent::KeyPress和QEvent::MouseButtonPress,只写一个object == tableWidget)的话,只能处理QEvent::KeyPress,只写一个object == tableWidget->viewport())的话,只能处理QEvent::MouseButtonPress,为什么呢,我的TABLEWIDGET继承与QTablewidget,同时说明下,我又widget这个类,是主界面,在这个类里面我写了tabwidget类,用于在widget窗口里面产生一个tablewidget。


还有一个问题,就是设置了 tableWidget->setMouseTracking(true);
可是我写的void TableWidget::mouseReleaseEvent(QMouseEvent *event),都没执行呢,为什么呢
离线pxiao_xiao

只看该作者 1楼 发表于: 2013-03-07
要想搞清楚 得去读Qt的源码
离线foxgod

只看该作者 2楼 发表于: 2013-03-07
回 1楼(pxiao_xiao) 的帖子
你知道我第二个问题吗,就是在tablewidget里面,widget的虚函数,执行不了的问题。例如mouseReleaseEvent
离线dbzhang800

只看该作者 3楼 发表于: 2013-03-07
你需要看看 QAbstractScrollArea 的manual
离线foxgod

只看该作者 4楼 发表于: 2013-03-07
回 3楼(dbzhang800) 的帖子
我的tablewidget,加上了tablewidget.->viewport()可是还是 不行呀
离线pxiao_xiao

只看该作者 5楼 发表于: 2013-03-07
因为 包含你真实表格的widget是作为tableWidget的组成对象 也就是 是QTableWidget的属性 也就是组合成的 不是继承来的
快速回复
限100 字节
 
上一个 下一个