如何处理QTableView长按?

时间:2013-07-10 06:29:56

标签: qt user-interface embedded signals-slots

我正在为带触摸屏的设备开发嵌入式应用程序,需要单独处理单击并长按QTableView项目。单击应打开编辑对话框,长按只应选择项目。问题是Qt中只有“按下”信号,我不知道处理长按的方法是什么。有人可以建议怎么做吗?

2 个答案:

答案 0 :(得分:1)

不是直接使用QTableView,而是将其子类化,然后实现虚函数: -

void mousePressEvent(QMouseEvent *)
void mouseReleaseEvent(QMouseEvent *)

然后,您可以决定如何处理事件,创建计时器以查看在发布事件之前是否已经过了一段时间。

答案 1 :(得分:1)

在视图的viewport()窗口小部件上安装事件过滤器并处理其鼠标事件。使用view->indexAt()找出点击的项目。另请参阅Event Filters