当前位置: 代码迷 >> QT开发 >> QTableWidget鼠标右键事件如何搞
  详细解决方案

QTableWidget鼠标右键事件如何搞

热度:67   发布时间:2016-04-25 04:09:21.0
QTableWidget鼠标右键事件怎么搞
我先给QTableWidget 的对象installEventFilter安装过滤器;然后在eventFilter中判断QObject,然后判断事件为鼠标右键时进行相应操作。可是,当我用右键点击表格时,eventFilter中并没有鼠标事件,并且表格中被点击的那一行同时高亮了。感觉是表格响应了鼠标的右键事件,但这个事件并没有进入eventFilter中。这个该怎么办啊?求帮忙!

------解决方案--------------------
分两步:
设置:void setContextMenuPolicy ( Qt::ContextMenuPolicy policy )
信号:void QWidget::customContextMenuRequested ( const QPoint & pos ) [signal]


tableWidget->setContextMenuPolicy(Qt::CustomContextMenu);
给QTableWidget的信号customContextMenuRequested写个槽。
------解决方案--------------------
直接用
void QWidget::mousePressEvent ( QMouseEvent * event ) [virtual protected]

然后判断是否为右键 if(event->button() == Qt::RightButton) 吧,这个肯定可以进