如何处理QTableView长按?

如何处理QTableView长按?,qt,user-interface,embedded,signals-slots,Qt,User Interface,Embedded,Signals Slots,我正在为带有触摸屏的设备开发嵌入式应用程序,需要单独处理QTableView项目上的单击和长按。单次单击应打开编辑对话框,长按应仅选择项目。问题是Qt中只有“按下”信号,我不知道处理长时间按下的正确方法是什么。有人能建议怎么做吗?与其直接使用QTableView,不如将其子类化,然后实现虚拟功能:- void mousePressEvent(QMouseEvent *) void mouseReleaseEvent(QMouseEvent *) 然后,您可以决定如何处理事件,创建一个计时器以查

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

与其直接使用QTableView,不如将其子类化,然后实现虚拟功能:-

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

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

在视图的
viewport()
小部件上安装一个事件过滤器,并处理其鼠标事件。使用
查看->索引()
查找单击的项目。另见